diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index a26ea8a691..8ace91fde7 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -163,12 +163,21 @@ var/mob/living/simple_animal/shade/A = locate() in C if(A) var/construct_class = alert(U, "Please choose which type of construct you wish to create.",,"Juggernaut","Wraith","Artificer") - var/mob/living/simple_animal/Z switch(construct_class) if("Juggernaut") - Z = new /mob/living/simple_animal/constructarmoured (get_turf(T.loc)) + var/mob/living/simple_animal/constructarmoured/Z = new /mob/living/simple_animal/constructarmoured (get_turf(T.loc)) if (A.client) A.client.mob = Z + Z.mind_initialize(Z) + if(iscultist(U)) + if (ticker.mode.name == "cult") + ticker.mode:add_cultist(Z.mind) + Z.mind.special_role = "Cultist" + ticker.mode.update_cult_icons_added(Z.mind) + else + ticker.mode.cult+=Z.mind + Z.mind.special_role = "Cultist" + ticker.mode.update_cult_icons_added(Z.mind) del(T) Z << "You are playing a Juggernaut. Though slow, you can withstand extreme punishment, and rip apart enemies and walls alike." Z << "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs." @@ -177,9 +186,19 @@ del(C) if("Wraith") - Z = new /mob/living/simple_animal/constructwraith (get_turf(T.loc)) + var/mob/living/simple_animal/constructwraith/Z = new /mob/living/simple_animal/constructwraith (get_turf(T.loc)) if (A.client) A.client.mob = Z + Z.mind_initialize(Z) + if(iscultist(U)) + if (ticker.mode.name == "cult") + ticker.mode:add_cultist(Z.mind) + Z.mind.special_role = "Cultist" + ticker.mode.update_cult_icons_added(Z.mind) + else + ticker.mode.cult+=Z.mind + Z.mind.special_role = "Cultist" + ticker.mode.update_cult_icons_added(Z.mind) del(T) Z << "You are playing a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls." Z << "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs." @@ -188,9 +207,19 @@ del(C) if("Artificer") - Z = new /mob/living/simple_animal/constructbuilder (get_turf(T.loc)) + var/mob/living/simple_animal/constructbuilder/Z = new /mob/living/simple_animal/constructbuilder (get_turf(T.loc)) if (A.client) A.client.mob = Z + Z.mind_initialize(Z) + if(iscultist(U)) + if (ticker.mode.name == "cult") + ticker.mode:add_cultist(Z.mind) + Z.mind.special_role = "Cultist" + ticker.mode.update_cult_icons_added(Z.mind) + else + ticker.mode.cult+=Z.mind + Z.mind.special_role = "Cultist" + ticker.mode.update_cult_icons_added(Z.mind) del(T) Z << "You are playing an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, repair allied constructs (by clicking on them), and even create new constructs" Z << "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs." diff --git a/code/game/magic/cultist/runes.dm b/code/game/magic/cultist/runes.dm index 14b7a63bd9..5120e38bed 100644 --- a/code/game/magic/cultist/runes.dm +++ b/code/game/magic/cultist/runes.dm @@ -488,11 +488,11 @@ var/list/sacrificed = list() T.imbue = "deafen" imbued_from = R break - if(R.word1==worddestr && R.word2==wordsee && R.word3==wordother) //blind + /*if(R.word1==worddestr && R.word2==wordsee && R.word3==wordother) //blind T = new(src.loc) T.imbue = "blind" imbued_from = R - break + break*/ if(R.word1==wordself && R.word2==wordother && R.word3==wordtech) //communicat T = new(src.loc) T.imbue = "communicate" @@ -521,7 +521,7 @@ var/list/sacrificed = list() user.take_overall_damage(200, 0) runedec+=10 user.visible_message("\red [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \ - "\red In the last moment of your humbly life, you feel as fabric of reality mends... with your blood.", \ + "\red In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \ "\red You hear faint rustle.") for(,user.stat==2) sleep(600) diff --git a/code/modules/mob/simple_animal/constructs.dm b/code/modules/mob/simple_animal/constructs.dm index e698f4b474..7f9e41af6e 100644 --- a/code/modules/mob/simple_animal/constructs.dm +++ b/code/modules/mob/simple_animal/constructs.dm @@ -3,6 +3,8 @@ /mob/living/simple_animal/constructarmoured name = "Juggernaut" + real_name = "Juggernaut" + original_name = "Juggernaut" desc = "A possessed suit of armour driven by the will of the restless dead" icon = 'mob.dmi' icon_state = "armour" @@ -113,8 +115,6 @@ health -= damage - - /mob/living/simple_animal/constructarmoured/examine() set src in oview() @@ -131,12 +131,20 @@ usr << msg return +/mob/living/simple_animal/constructarmoured/proc/mind_initialize(mob/G) + mind = new + mind.current = src + mind.assigned_role = "Juggernaut" + mind.key = G.key + ////////////////////////Wraith///////////////////////////////////////////// /mob/living/simple_animal/constructwraith name = "Wraith" + real_name = "Wraith" + original_name = "Wraith" desc = "A wicked bladed shell contraption piloted by a bound spirit" icon = 'mob.dmi' icon_state = "floating" @@ -255,12 +263,18 @@ usr << msg return - +/mob/living/simple_animal/constructwraith/proc/mind_initialize(mob/G) + mind = new + mind.current = src + mind.assigned_role = "Wraith" + mind.key = G.key /////////////////////////////Artificer///////////////////////// /mob/living/simple_animal/constructbuilder name = "Artificer" + real_name = "Artificer" + original_name = "Artificer" desc = "A bulbous construct dedicated to building and maintaining The Cult of Nar-Sie's armies" icon = 'mob.dmi' icon_state = "artificer" @@ -328,4 +342,10 @@ msg += "*---------*" usr << msg - return \ No newline at end of file + return + +/mob/living/simple_animal/constructbuilder/proc/mind_initialize(mob/G) + mind = new + mind.current = src + mind.assigned_role = "Artificer" + mind.key = G.key \ No newline at end of file diff --git a/code/modules/mob/simple_animal/shade.dm b/code/modules/mob/simple_animal/shade.dm index 34034a63df..3edff7159a 100644 --- a/code/modules/mob/simple_animal/shade.dm +++ b/code/modules/mob/simple_animal/shade.dm @@ -50,4 +50,10 @@ for(var/mob/M in viewers(src, null)) if ((M.client && !( M.blinded ))) M.show_message("\red [user] gently taps [src] with the [O]. ") - return \ No newline at end of file + return + +/mob/living/simple_animal/shade/proc/mind_initialize(mob/G) + mind = new + mind.current = src + mind.assigned_role = "Shade" + mind.key = G.key \ No newline at end of file