diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm index cb544396dc7..dc92d466de1 100644 --- a/code/WorkInProgress/Chemistry-Tools.dm +++ b/code/WorkInProgress/Chemistry-Tools.dm @@ -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?" diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 3a80afd7927..61c6791b83e 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -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("You remember one thing: [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("You remember that [wordexp]", 0, 0) /datum/game_mode/cult/send_intercept() var/intercepttext = "Cent. Com. Update Requested staus information:
" diff --git a/code/game/magic/cultist/ritual.dm b/code/game/magic/cultist/ritual.dm index 7cbc39f43c0..036a282d589 100644 --- a/code/game/magic/cultist/ritual.dm +++ b/code/game/magic/cultist/ritual.dm @@ -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") diff --git a/code/game/magic/cultist/runes.dm b/code/game/magic/cultist/runes.dm index b974a7c1f5a..027a47ea2d7 100644 --- a/code/game/magic/cultist/runes.dm +++ b/code/game/magic/cultist/runes.dm @@ -110,8 +110,6 @@ var/list/sacrificed = list() "\red You hear an anguished scream.") M << "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." M << "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." - 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 diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index 0fad6f3dd9d..11dd2974d38 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index 6c08a730e6d..8db8e957642 100644 Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ