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)