mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-21 12:04:48 +01:00
New rune: reveal runes. Opposite to "conceal", reveals all hidden runes in large radius. Possible to imbue into a talisman. Words are same as conceal rune, but in reversed order.
Chaplain can now hit floor with his bible to reveal hidden runes in small radius around him. Tweaks to cultist game mode: Words that arent commonly used are never revealed to cultists on game start. Game aborts if there are less than 3 possible cultist players (used to need at least 1, and it sucked because of not enough word knowledge. Small bug fixes and more flavour/explanation text for some runes. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@559 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -34,17 +34,13 @@
|
||||
cultists_possible = get_possible_cultists()
|
||||
var/cultists_number = 0
|
||||
|
||||
if(!cultists_possible)
|
||||
if(cultists_possible.len < 3)
|
||||
world << "<B> \red Not enough players for cult game mode. Restarting world in 5 seconds."
|
||||
sleep(50)
|
||||
world.Reboot()
|
||||
return
|
||||
|
||||
if(cultists_possible.len >= 3)
|
||||
cultists_number = 3
|
||||
else
|
||||
cultists_number = cultists_possible.len
|
||||
|
||||
cultists_number = 3
|
||||
while(cultists_number > 0)
|
||||
cult += pick(cultists_possible)
|
||||
cultists_possible -= cult
|
||||
@@ -105,7 +101,7 @@
|
||||
cult_mob << "You have a talisman in your backpack, one that will help you start the cult on this station. Use it well and remember - there are others."
|
||||
if(!wordtravel)
|
||||
runerandom()
|
||||
var/word=pick("1","2","3","4","5","6","7","8")
|
||||
var/word=pick("1","2","3","4","5","6")
|
||||
var/wordexp
|
||||
switch(word)
|
||||
if("1")
|
||||
@@ -117,12 +113,8 @@
|
||||
if("4")
|
||||
wordexp = "[wordhell] is Hell..."
|
||||
if("5")
|
||||
wordexp = "[worddestr] is destroy..."
|
||||
if("6")
|
||||
wordexp = "[wordtech] is technology..."
|
||||
if("7")
|
||||
wordexp = "[wordself] is self..."
|
||||
if("8")
|
||||
if("6")
|
||||
wordexp = "[wordsee] is see..."
|
||||
cult_mob << "\red You remembered one thing from the dark teachings of your master... [wordexp]"
|
||||
cult_mob.mind.store_memory("<B>You remember one thing</B>: [wordexp]", 0, 0)
|
||||
@@ -257,7 +249,7 @@
|
||||
for(var/mob/living/carbon/human/player in world)
|
||||
if(player.mind)
|
||||
var/role = player.mind.assigned_role
|
||||
if(role in list("Captain", "Head of Security", "Head of Personnel", "Chief Engineer", "Research Director", "Security Officer", "Detective", "AI", "Chaplain"))
|
||||
if(role in list("Captain", "Head of Security", "Head of Personnel", "Chief Engineer", "Research Director", "Security Officer", "Detective", "AI", "Chaplain", "Warden", "Chief Medical Officer"))
|
||||
ucs += player.mind
|
||||
|
||||
return ucs
|
||||
|
||||
@@ -49,6 +49,7 @@ var/runedec = 0
|
||||
// see Hell join - See invisible
|
||||
// blood join Hell - Raise dead
|
||||
// blood see destroy - Hide nearby runes
|
||||
// destroy see blood - Reveal nearby runes
|
||||
// Hell travel self - Leave your body and ghost around
|
||||
// blood see travel - Manifest a ghost into a mortal body
|
||||
// Hell tech join - Imbue a rune into a talisman
|
||||
@@ -124,6 +125,8 @@ var/runedec = 0
|
||||
return talisman()
|
||||
if(word1 == wordhell && word2 == wordblood && word3 == wordjoin)
|
||||
return sacrifice()
|
||||
if(word1 == worddestr && word2 == wordsee && word3 == wordblood)
|
||||
return revealrunes(src)
|
||||
else
|
||||
return fizzle()
|
||||
|
||||
@@ -184,6 +187,10 @@ var/runedec = 0
|
||||
if(word1 == wordhell && word2 == wordblood && word3 == wordjoin)
|
||||
icon_state = "[rand(1,6)]"
|
||||
src.icon += rgb(255, 255, 255)
|
||||
if(word1 == worddestr && word2 == wordsee && word3 == wordblood)
|
||||
icon_state = "4"
|
||||
src.icon += rgb(255, 255, 255)
|
||||
|
||||
return
|
||||
icon_state="[rand(1,6)]" //random shape and color for dummy runes
|
||||
src.icon -= rgb(255,255,255)
|
||||
@@ -347,6 +354,12 @@ var/runedec = 0
|
||||
R.word2=wordblood
|
||||
R.word3=wordjoin
|
||||
R.check_icon()
|
||||
if("revealrunes")
|
||||
var/obj/rune/R = new /obj/rune(user.loc)
|
||||
R.word1=worddestr
|
||||
R.word2=wordsee
|
||||
R.word3=wordblood
|
||||
R.check_icon()
|
||||
|
||||
/obj/item/weapon/paperscrap
|
||||
name = "scrap of paper"
|
||||
@@ -383,6 +396,8 @@ var/runedec = 0
|
||||
call(/obj/rune/proc/emp)(usr.loc,4)
|
||||
if("conceal")
|
||||
call(/obj/rune/proc/obscure)(2)
|
||||
if("revealrunes")
|
||||
call(/obj/rune/proc/revealrunes)(src)
|
||||
if("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar")
|
||||
call(/obj/rune/proc/teleport)(imbue)
|
||||
if("communicate")
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(src.loc)
|
||||
T.imbue = "[R.word3]"
|
||||
T.info = "[R.word3]"
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3)
|
||||
del(R)
|
||||
del(src)
|
||||
usr.say("H'drak v'loso, mir'kanas verbot!")
|
||||
@@ -23,6 +25,8 @@
|
||||
del(P)
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(src.loc)
|
||||
T.imbue = "newtome"
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3)
|
||||
del(R)
|
||||
del(src)
|
||||
usr.say("H'drak v'loso, mir'kanas verbot!")
|
||||
@@ -35,6 +39,8 @@
|
||||
del(P)
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(src.loc)
|
||||
T.imbue = "emp"
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3)
|
||||
del(R)
|
||||
del(src)
|
||||
usr.say("H'drak v'loso, mir'kanas verbot!")
|
||||
@@ -47,6 +53,22 @@
|
||||
del(P)
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(src.loc)
|
||||
T.imbue = "conceal"
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3)
|
||||
del(R)
|
||||
del(src)
|
||||
usr.say("H'drak v'loso, mir'kanas verbot!")
|
||||
return
|
||||
if(R.word1==worddestr && R.word2==wordsee && R.word3==wordblood)
|
||||
for(var/obj/item/weapon/paper/P in src.loc)
|
||||
if(P.info)
|
||||
usr << "\red The blank is tainted. It is unsuitable."
|
||||
return
|
||||
del(P)
|
||||
var/obj/item/weapon/paper/talisman/T = new /obj/item/weapon/paper/talisman(src.loc)
|
||||
T.imbue = "revealrunes"
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3)
|
||||
del(R)
|
||||
del(src)
|
||||
usr.say("H'drak v'loso, mir'kanas verbot!")
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
for(var/mob/living/carbon/D in R.loc)
|
||||
if(D.health>=-100)
|
||||
var/bdrain = rand(1,25)
|
||||
D << "\red You feel wakened."
|
||||
D.bruteloss += bdrain
|
||||
drain += bdrain
|
||||
if(!drain)
|
||||
|
||||
@@ -7,8 +7,16 @@
|
||||
if(S)
|
||||
if(istype(src,/obj/rune))
|
||||
usr.say("Kla'atu barada nikt'o!")
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red The rune turns into gray dust, veiling the surrounding runes.", 3)
|
||||
del(src)
|
||||
else
|
||||
usr.whisper("Kla'atu barada nikt'o!")
|
||||
usr << "\red Your talisman turns into gray dust, veiling the surrounding runes."
|
||||
for (var/mob/V in viewers(src))
|
||||
if(V!=usr)
|
||||
V.show_message("\red Dust emanates from [usr]'s hands for a moment.", 3)
|
||||
|
||||
return
|
||||
if(istype(src,/obj/rune))
|
||||
return fizzle()
|
||||
|
||||
@@ -68,6 +68,12 @@
|
||||
playsound(src.loc, "punch", 25, 1, -1)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/bible/afterattack(atom/A, mob/user as mob)
|
||||
if (istype(A, /turf/simulated/floor))
|
||||
user << "\blue You hit the floor with the bible."
|
||||
if(user.mind && (user.mind.assigned_role == "Chaplain"))
|
||||
call(/obj/rune/proc/revealrunes)(src)
|
||||
|
||||
/obj/item/weapon/storage/bible/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
|
||||
if (src.contents.len >= 7)
|
||||
|
||||
Reference in New Issue
Block a user