From 2905cc7415538fe96791571396ea2ed3e02bd2f1 Mon Sep 17 00:00:00 2001 From: AnturK Date: Wed, 24 Jan 2018 18:37:18 +0100 Subject: [PATCH 1/3] Fixes changelings retaining fake brains on de-changelining --- code/modules/antagonists/changeling/changeling.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index c15b655da97..08e7e9843e1 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/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 . = ..() From 7c4e6b674e9935bd9dd4851983fc1b8c6f017220 Mon Sep 17 00:00:00 2001 From: AnturK Date: Wed, 24 Jan 2018 18:51:18 +0100 Subject: [PATCH 2/3] I'll just kill this type, seems rather useless. --- code/modules/antagonists/changeling/changeling.dm | 2 +- code/modules/antagonists/changeling/powers/regenerate.dm | 4 +++- code/modules/mob/living/brain/brain_item.dm | 4 ---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 08e7e9843e1..033bf49b3bf 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -80,7 +80,7 @@ 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)) + if(B && (B.decoy_override != initial(B.decoy_override))) B.vital = TRUE B.decoy_override = FALSE remove_changeling_powers() diff --git a/code/modules/antagonists/changeling/powers/regenerate.dm b/code/modules/antagonists/changeling/powers/regenerate.dm index f2b13a5d098..6fd3e73c7e1 100644 --- a/code/modules/antagonists/changeling/powers/regenerate.dm +++ b/code/modules/antagonists/changeling/powers/regenerate.dm @@ -28,7 +28,9 @@ 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 = 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 9ac01a59ed8..ad58d2fa8ef 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) ..() From 75c2173faa7e4993934da0cd75ed7556ff619577 Mon Sep 17 00:00:00 2001 From: AnturK Date: Thu, 1 Feb 2018 10:11:04 +0100 Subject: [PATCH 3/3] Okay but i'm not going to check if changeling dullahans work --- code/modules/antagonists/changeling/powers/regenerate.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/modules/antagonists/changeling/powers/regenerate.dm b/code/modules/antagonists/changeling/powers/regenerate.dm index 6fd3e73c7e1..99050417b8b 100644 --- a/code/modules/antagonists/changeling/powers/regenerate.dm +++ b/code/modules/antagonists/changeling/powers/regenerate.dm @@ -28,7 +28,11 @@ C.regenerate_limbs(1) C.regenerate_organs() if(!user.getorganslot(ORGAN_SLOT_BRAIN)) - var/obj/item/organ/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)