mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 15:37:36 +01:00
Update to the cultist mode:
Some bugs fixed. Converting people doesnt give new words anymore. Sacrificing people does. You can sacrifice a living person, a dead body, an alium or a monkey. 3 cultists must chant together to sacrifice a living person, but the chances to obtain new word are higher when you sacrifice living humans. Also putting berry joice in a glass now works properly, instead of making it a "glass of...what?" Highly untested, so come revise this and try to find any problems. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1069 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -73,7 +73,7 @@ var/runedec = 0
|
||||
// blood join Hell - Raise dead
|
||||
|
||||
// hide see blood - Hide nearby runes
|
||||
// destroy hide blood - Reveal nearby runes
|
||||
// blood see hide - Reveal nearby runes - The point of this rune is that its reversed obscure rune. So you always know the words to reveal the rune once oyu have obscured it.
|
||||
|
||||
// Hell travel self - Leave your body and ghost around
|
||||
// blood see travel - Manifest a ghost into a mortal body
|
||||
@@ -144,7 +144,7 @@ var/runedec = 0
|
||||
return talisman()
|
||||
if(word1 == wordhell && word2 == wordblood && word3 == wordjoin)
|
||||
return sacrifice()
|
||||
if(word1 == worddestr && word2 == wordhide && word3 == wordblood)
|
||||
if(word1 == wordblood && word2 == wordsee && word3 == wordhide)
|
||||
return revealrunes(src)
|
||||
if(word1 == worddestr && word2 == wordtravel && word3 == wordself)
|
||||
return wall()
|
||||
@@ -223,7 +223,7 @@ var/runedec = 0
|
||||
icon_state = "[rand(1,6)]"
|
||||
src.icon += rgb(255, 255, 255)
|
||||
return
|
||||
if(word1 == worddestr && word2 == wordhide && word3 == wordblood)
|
||||
if(word1 == wordblood && word2 == wordsee && word3 == wordhide)
|
||||
icon_state = "4"
|
||||
src.icon += rgb(255, 255, 255)
|
||||
return
|
||||
@@ -455,9 +455,9 @@ var/runedec = 0
|
||||
R.loc = user.loc
|
||||
R.check_icon()
|
||||
if("reveal")
|
||||
R.word1=worddestr
|
||||
R.word2=wordhide
|
||||
R.word3=wordblood
|
||||
R.word1=wordblood
|
||||
R.word2=wordsee
|
||||
R.word3=wordhide
|
||||
R.loc = user.loc
|
||||
R.check_icon()
|
||||
if("wall")
|
||||
|
||||
@@ -110,8 +110,6 @@ var/list/sacrificed = list()
|
||||
"\red You hear an anguished scream.")
|
||||
M << "<font color=\"purple\"><b><i>Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible truth. The veil of reality has been ripped away and in the festering wound left behind something sinister takes root.</b></i></font>"
|
||||
M << "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>"
|
||||
if (ticker.mode.name == "cult")
|
||||
ticker.mode:grant_runeword(M)
|
||||
cultists.Add(M)
|
||||
return
|
||||
return fizzle()
|
||||
@@ -413,7 +411,7 @@ var/list/sacrificed = list()
|
||||
del(src)
|
||||
usr.say("H'drak v'loso, mir'kanas verbot!")
|
||||
return
|
||||
if(R.word1==worddestr && R.word2==wordsee && R.word3==wordblood)
|
||||
if(R.word1==wordblood && R.word2==wordsee && R.word3==wordhide)
|
||||
for(var/obj/item/weapon/paper/P in src.loc)
|
||||
if(P.info)
|
||||
usr << "\red The blank is tainted. It is unsuitable."
|
||||
@@ -496,20 +494,94 @@ var/list/sacrificed = list()
|
||||
/////////////////////////////////////////FIFTEENTH RUNE
|
||||
|
||||
sacrifice()
|
||||
var/culcount = 0
|
||||
var/list/cultsinrange = list()
|
||||
var/list/victims = list()
|
||||
for(var/mob/living/carbon/human/V in src.loc)
|
||||
if(!cultists.Find(V))
|
||||
victims.Add(V)
|
||||
for(var/mob/living/carbon/human/C in orange(1,src))
|
||||
if(cultists.Find(C))
|
||||
culcount++
|
||||
if(culcount>=3)
|
||||
for(var/mob/living/carbon/human/S in src.loc)
|
||||
if(ticker.mode.name == "cult")
|
||||
if(S == ticker.mode:sacrifice_target.current)//Iunno, check if it's a target
|
||||
sacrificed += S.mind
|
||||
S.gib(1)
|
||||
usr << "\red The Geometer of Blood accepts this sacrifice."
|
||||
cultsinrange.Add(C)
|
||||
for(var/mob/H in victims)
|
||||
for(var/mob/K in cultsinrange)
|
||||
K.say("Barhah hra zar'garis!")
|
||||
if (ticker.mode.name == "cult")
|
||||
if(H == ticker.mode:sacrifice_target.current)
|
||||
if(cultsinrange.len >= 3)
|
||||
H.gib(1)
|
||||
sacrificed += H.mind
|
||||
usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete."
|
||||
else
|
||||
usr << "\red The Geometer of Blood does not accept this sacrifice."
|
||||
return
|
||||
usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual."
|
||||
else
|
||||
if(cultsinrange.len >= 3)
|
||||
if(H.stat !=2)
|
||||
H.gib(1)
|
||||
if(prob(80))
|
||||
usr << "\red The Geometer of Blood accepts this sacrifice."
|
||||
ticker.mode:grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "\red However, this soul was not enough to gain His favor."
|
||||
else
|
||||
H.gib(1)
|
||||
if(prob(40))
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
ticker.mode:grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||
else
|
||||
if(H.stat !=2)
|
||||
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
|
||||
else
|
||||
H.gib(1)
|
||||
if(prob(40))
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
ticker.mode:grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "\red However, a mere dead body is not enough to satisfy Him."
|
||||
else
|
||||
if(cultsinrange.len >= 3)
|
||||
H.gib(1)
|
||||
usr << "\red The Geometer of Blood accepts this sacrifice."
|
||||
else
|
||||
if(H.stat !=2)
|
||||
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
|
||||
else
|
||||
H.gib(1)
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
|
||||
return
|
||||
for(var/mob/living/carbon/monkey/M in src.loc)
|
||||
for(var/mob/K in cultsinrange)
|
||||
K.say("Barhah hra zar'garis!")
|
||||
M.gib(1)
|
||||
if (ticker.mode.name == "cult")
|
||||
if(prob(20))
|
||||
usr << "\red The Geometer of Blood accepts your meager sacrifice."
|
||||
ticker.mode:grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of blood accepts this sacrifice."
|
||||
usr << "\red However, a mere monkey is not enough to satisfy Him."
|
||||
else
|
||||
usr << "\red The Geometer of Blood accepts your meager sacrifice."
|
||||
return
|
||||
for(var/mob/living/carbon/alien/A)
|
||||
for(var/mob/K in cultsinrange)
|
||||
K.say("Barhah hra zar'garis!")
|
||||
A.gib(1)
|
||||
if (ticker.mode.name == "cult")
|
||||
if(prob(75))
|
||||
usr << "\red The Geometer of Blood accepts your exotic sacrifice."
|
||||
ticker.mode:grant_runeword(usr)
|
||||
else
|
||||
usr << "\red The Geometer of Blood accepts your exotic sacrifice."
|
||||
usr << "\red However, this alien is not enough to gain His favor."
|
||||
else
|
||||
usr << "\red The Geometer of Blood accepts your exotic sacrifice."
|
||||
return
|
||||
return fizzle()
|
||||
|
||||
/////////////////////////////////////////SIXTEENTH RUNE
|
||||
|
||||
Reference in New Issue
Block a user