diff --git a/code/datums/gamemode/factions/legacy_cult/soulstone.dm b/code/datums/gamemode/factions/legacy_cult/soulstone.dm
index 1bff49902f1..42eec9ed36c 100644
--- a/code/datums/gamemode/factions/legacy_cult/soulstone.dm
+++ b/code/datums/gamemode/factions/legacy_cult/soulstone.dm
@@ -307,8 +307,8 @@
qdel(add_target)
return
- message_admins("BLOODCULT: [key_name(body)] has been soul-stoned by [key_name(user)].")
- log_admin("BLOODCULT: [key_name(body)] has been soul-stoned by [key_name(user)].")
+ message_admins("BLOODCULT: [key_name(body)] has been soul-stoned by [key_name(user)][iscultist(user) ? ", a cultist." : "a NON-cultist."].")
+ log_admin("BLOODCULT: [key_name(body)] has been soul-stoned by [key_name(user)][iscultist(user) ? ", a cultist." : "a NON-cultist."].")
//Creating a shade inside the stone and putting the victim in control
var/mob/living/simple_animal/shade/shadeMob = new(src)//put shade in stone
@@ -329,10 +329,9 @@
dir = NORTH
update_icon()
user.update_inv_hands()
- to_chat(shadeMob, "Your soul has been captured! You are now bound to [user.name]'s will, help them suceed in their goals at all costs.")
+ to_chat(shadeMob, "Your soul has been captured! You are now bound to [user.name]'s will, help them succeed in their goals at all costs.")
to_chat(user, "[true_name]'s soul has been ripped from their body and stored within the soul stone.")
-
//Is our user a cultist? Then you're a cultist too now!
if (iscultist(user))
var/datum/role/cultist/newCultist = new
@@ -346,6 +345,12 @@
newCultist.conversion["soulstone"] = user
cult_risk(user)//risk of exposing the cult early if too many soul trappings
+ else
+ if (iscultist(shadeMob))
+ to_chat(shadeMob, "Your master is NOT a cultist, but you are. You are still to follow their commands and help them in their goal.")
+ to_chat(shadeMob, "Your loyalty to Nar-Sie temporarily wanes, but the God takes his toll on your treacherous mind. You only remember of who converted you.")
+ shadeMob.mind.decult()
+
//Pretty particles
var/turf/T1 = get_turf(target)
var/turf/T2 = null
diff --git a/code/datums/gamemode/role/cultist.dm b/code/datums/gamemode/role/cultist.dm
index b41c064cad8..048d2dd6626 100644
--- a/code/datums/gamemode/role/cultist.dm
+++ b/code/datums/gamemode/role/cultist.dm
@@ -36,20 +36,23 @@
/datum/role/cultist/PostMindTransfer(var/mob/living/new_character)
. = ..()
if (issilicon(new_character))
- antag.antag_roles -= CULTIST
- antag.current.remove_language(LANGUAGE_CULT)
- for(var/spell/cult/spell_to_remove in antag.current.spell_list)
- antag.current.remove_spell(spell_to_remove)
- if (src in blood_communion)
- blood_communion.Remove(src)
- update_faction_icons()
- return
+ antag.decult()
update_cult_hud()
antag.current.add_language(LANGUAGE_CULT)
if((ishuman(antag.current) || ismonkey(antag.current)) && !(locate(/spell/cult) in antag.current.spell_list))
antag.current.add_spell(new /spell/cult/trace_rune, "cult_spell_ready", /obj/abstract/screen/movable/spell_master/bloodcult)
antag.current.add_spell(new /spell/cult/erase_rune, "cult_spell_ready", /obj/abstract/screen/movable/spell_master/bloodcult)
+/datum/mind/proc/decult()
+ antag_roles -= CULTIST
+ current.remove_language(LANGUAGE_CULT)
+ for(var/spell/cult/spell_to_remove in current.spell_list)
+ current.remove_spell(spell_to_remove)
+ var/datum/role/cultist/C = GetRole(CULTIST)
+ if (C in blood_communion)
+ blood_communion.Remove(C)
+ update_faction_icons()
+
/datum/role/cultist/process()
..()
if (holywarning_cooldown > 0)