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:
KFFFF00
2011-02-19 01:13:42 +00:00
parent 0a8aea78eb
commit b8dbdd30e1
6 changed files with 112 additions and 24 deletions
+4
View File
@@ -2786,6 +2786,10 @@
icon_state = "glass_white"
name = "Glass of soy milk"
desc = "White and nutritious soy goodness!"
if("berryjuice")
icon_state = "berryjuice"
name = "Glass berry joice"
desc = "Berry juice. Or maybe its jam. Who cares?"
else
icon_state ="glass_brown"
name = "Glass of ..what?"
+16 -4
View File
@@ -8,9 +8,9 @@
var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds)
var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds)
var/list/startwords = list("blood","join","self")
var/list/startwords = list("blood","join","self","hell")
//var/list/startwords = list("travel","blood","join","hell","self","see")
var/list/allwords = list("travel","blood","join","hell","self","see")
var/list/allwords = list("travel","self","see","hell","blood","join","tech","destroy", "other", "hear", "free", "hide")
var/list/objectives = list()
@@ -130,8 +130,20 @@
wordexp = "[wordself] is self..."
if("see")
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)
if("tech")
wordexp = "[wordtech] is technology..."
if("destroy")
wordexp = "[worddestr] is destroy..."
if("other")
wordexp = "[wordother] is other..."
if("hear")
wordexp = "[wordhear] is hear..."
if("free")
wordexp = "[wordfree] is free..."
if("hide")
wordexp = "[wordhide] is hide..."
cult_mob << "\red You remember one thing from the dark teachings of your master... [wordexp]"
cult_mob.mind.store_memory("<B>You remember that</B> [wordexp]", 0, 0)
/datum/game_mode/cult/send_intercept()
var/intercepttext = "<FONT size = 3><B>Cent. Com. Update</B> Requested staus information:</FONT><HR>"
+6 -6
View File
@@ -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")
+86 -14
View File
@@ -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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB