diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 51b170ca86..a9b5b15824 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -34,17 +34,13 @@ cultists_possible = get_possible_cultists() var/cultists_number = 0 - if(!cultists_possible) + if(cultists_possible.len < 3) world << " \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("You remember one thing: [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 diff --git a/code/game/magic/cultist/ritual.dm b/code/game/magic/cultist/ritual.dm index a000d96d64..0d05fc30d1 100644 --- a/code/game/magic/cultist/ritual.dm +++ b/code/game/magic/cultist/ritual.dm @@ -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") diff --git a/code/game/magic/cultist/rune12.dm b/code/game/magic/cultist/rune12.dm index c129bac722..9341340837 100644 --- a/code/game/magic/cultist/rune12.dm +++ b/code/game/magic/cultist/rune12.dm @@ -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!") diff --git a/code/game/magic/cultist/rune6.dm b/code/game/magic/cultist/rune6.dm index 84d3bda90e..e7dfaf75c9 100644 --- a/code/game/magic/cultist/rune6.dm +++ b/code/game/magic/cultist/rune6.dm @@ -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) diff --git a/code/game/magic/cultist/rune9.dm b/code/game/magic/cultist/rune9.dm index 064e78122c..257ca71f94 100644 --- a/code/game/magic/cultist/rune9.dm +++ b/code/game/magic/cultist/rune9.dm @@ -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() diff --git a/code/game/objects/storage/bible.dm b/code/game/objects/storage/bible.dm index 5ef051aaaa..200c08a7e2 100644 --- a/code/game/objects/storage/bible.dm +++ b/code/game/objects/storage/bible.dm @@ -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) diff --git a/goonstation.dme b/goonstation.dme index 3059d5cdbc..910c85a4c5 100644 --- a/goonstation.dme +++ b/goonstation.dme @@ -127,11 +127,6 @@ #define FILE_DIR "sound/spells" #define FILE_DIR "sound/voice" #define FILE_DIR "sound/weapons" -#define FILE_DIR "SS13 Hosting" -#define FILE_DIR "SS13 Hosting/SSadmindickery files" -#define FILE_DIR "SS13 Hosting/SSadmindickery files/maps" -#define FILE_DIR "SS13 Hosting/SSadmindickery files/maps/backup" -#define FILE_DIR "SS13 Hosting/Thunderdome" // END_FILE_DIR // BEGIN_PREFERENCES @@ -407,6 +402,7 @@ #include "code\game\magic\cultist\rune13.dm" #include "code\game\magic\cultist\rune14.dm" #include "code\game\magic\cultist\rune15.dm" +#include "code\game\magic\cultist\rune16.dm" #include "code\game\magic\cultist\rune2.dm" #include "code\game\magic\cultist\rune3.dm" #include "code\game\magic\cultist\rune4.dm"