diff --git a/code/datums/antagonists/changeling.dm b/code/datums/antagonists/changeling.dm index 5d4e34cd97..15da9def9e 100644 --- a/code/datums/antagonists/changeling.dm +++ b/code/datums/antagonists/changeling.dm @@ -76,6 +76,13 @@ . = ..() /datum/antagonist/changeling/on_removal() + //We'll be using this from now on + var/mob/living/carbon/C = owner.current + if(istype(C)) + var/obj/item/organ/brain/B = C.getorganslot(ORGAN_SLOT_BRAIN) + if(B && (B.decoy_override != initial(B.decoy_override))) + B.vital = TRUE + B.decoy_override = FALSE remove_changeling_powers() owner.objectives -= objectives . = ..() diff --git a/code/modules/antagonists/changeling/powers/regenerate.dm b/code/modules/antagonists/changeling/powers/regenerate.dm index f2b13a5d09..99050417b8 100644 --- a/code/modules/antagonists/changeling/powers/regenerate.dm +++ b/code/modules/antagonists/changeling/powers/regenerate.dm @@ -28,7 +28,13 @@ C.regenerate_limbs(1) C.regenerate_organs() if(!user.getorganslot(ORGAN_SLOT_BRAIN)) - var/obj/item/organ/brain/changeling_brain/B = new() + var/obj/item/organ/brain/B + if(C.has_dna() && C.dna.species.mutant_brain) + B = new C.dna.species.mutant_brain() + else + B = new() + B.vital = FALSE + B.decoy_override = TRUE B.Insert(C) if(ishuman(user)) var/mob/living/carbon/human/H = user diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 9ac01a59ed..ad58d2fa8e 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -15,10 +15,6 @@ var/list/datum/brain_trauma/traumas = list() -/obj/item/organ/brain/changeling_brain - vital = FALSE - decoy_override = TRUE - /obj/item/organ/brain/Insert(mob/living/carbon/C, special = 0,no_id_transfer = FALSE) ..()