diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index 520e6939b60..b3643d3d38a 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -265,12 +265,15 @@
var/mob/living/simple_animal/hostile/construct/armoured/Z = new /mob/living/simple_animal/hostile/construct/armoured (get_turf(T.loc))
Z.key = A.key
Z.faction |= "\ref[U]"
+ Z.mind.store_memory(A.mind.memory)
if(iscultist(U))
if(SSticker.mode.name == "cult")
SSticker.mode:add_cultist(Z.mind)
else
SSticker.mode.cult+=Z.mind
SSticker.mode.update_cult_icons_added(Z.mind)
+ if(iswizard(U))
+ SSticker.mode.update_wiz_icons_added(Z.mind)
qdel(T)
to_chat(Z, "You are a Juggernaut. Though slow, your shell can withstand extreme punishment, create shield walls and even deflect energy weapons, and rip apart enemies and walls alike.")
to_chat(Z, "You are still bound to serve your creator, follow [U.p_their()] orders and help [U.p_them()] complete [U.p_their()] goals at all costs.")
@@ -281,12 +284,15 @@
var/mob/living/simple_animal/hostile/construct/wraith/Z = new /mob/living/simple_animal/hostile/construct/wraith (get_turf(T.loc))
Z.key = A.key
Z.faction |= "\ref[U]"
+ Z.mind.store_memory(A.mind.memory)
if(iscultist(U))
if(SSticker.mode.name == "cult")
SSticker.mode:add_cultist(Z.mind)
else
SSticker.mode.cult+=Z.mind
- SSticker.mode.update_cult_icons_added(Z.mind)
+ if(iswizard(U))
+ SSticker.mode.update_wiz_icons_added(Z.mind)
+
qdel(T)
to_chat(Z, "You are a Wraith. Though relatively fragile, you are fast, deadly, and even able to phase through walls.")
to_chat(Z, "You are still bound to serve your creator, follow [U.p_their()] orders and help [U.p_them()] complete [U.p_their()] goals at all costs.")
@@ -297,12 +303,15 @@
var/mob/living/simple_animal/hostile/construct/builder/Z = new /mob/living/simple_animal/hostile/construct/builder (get_turf(T.loc))
Z.key = A.key
Z.faction |= "\ref[U]"
+ Z.mind.store_memory(A.mind.memory)
if(iscultist(U))
if(SSticker.mode.name == "cult")
SSticker.mode:add_cultist(Z.mind)
else
SSticker.mode.cult+=Z.mind
SSticker.mode.update_cult_icons_added(Z.mind)
+ if(iswizard(U))
+ SSticker.mode.update_wiz_icons_added(Z.mind)
qdel(T)
to_chat(Z, "You are an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, use magic missile, repair allied constructs (by clicking on them), and most important of all create new constructs (Use your Artificer spell to summon a new construct shell and Summon Soulstone to create a new soulstone).")
to_chat(Z, "You are still bound to serve your creator, follow [U.p_their()] orders and help [U.p_them()] complete [U.p_their()] goals at all costs.")
@@ -350,8 +359,12 @@
S.key = T.key
if(U)
S.faction |= "\ref[U]" //Add the master as a faction, allowing inter-mob cooperation
+ if(!iscultist(U))
+ S.mind.store_memory("Serve [U.real_name], your creator.")
if(U && iscultist(U))
SSticker.mode.add_cultist(S.mind, 0)
+ if(U && iswizard(U))
+ SSticker.mode.update_wiz_icons_added(S.mind)
S.cancel_camera()
name = "soulstone: Shade of [T.real_name]"
icon_state = "soulstone2"