diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm index 0e02df12d88..97192c86a0f 100644 --- a/code/game/gamemodes/changeling/powers/swap_form.dm +++ b/code/game/gamemodes/changeling/powers/swap_form.dm @@ -18,12 +18,15 @@ if((NOCLONE || SKELETON || HUSK) in target.mutations) to_chat(user, "DNA of [target] is ruined beyond usability!") return - if(!istype(target) || issmall(target) || (NO_DNA in target.dna.species.species_traits)) + if(!istype(target) || !target.mind || issmall(target) || (NO_DNA in target.dna.species.species_traits)) to_chat(user, "[target] is not compatible with this ability.") return if(target.mind.changeling) to_chat(user, "We are unable to swap forms with another changeling!") return + if(target.has_brain_worms() || user.has_brain_worms()) + to_chat(user, "A foreign presence repels us from this body!") + return return 1 /datum/action/changeling/swap_form/sting_action(var/mob/living/carbon/user) @@ -63,6 +66,8 @@ target.add_language("Changeling") user.remove_language("Changeling") user.regenerate_icons() + if(target.stat == DEAD && target.suiciding) //If Target committed suicide, unset flag for User + target.suiciding = 0 for(var/power in lingpowers) var/datum/action/changeling/S = power