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