From 15fdcbdecb67583400f31f206c4d94cbe4195508 Mon Sep 17 00:00:00 2001 From: DZD Date: Mon, 20 Apr 2015 10:17:40 -0400 Subject: [PATCH] Fixes alternate organ removal method - De-braining and de-eying a detached head now sets the organ's vars correctly. - Slime people's (and golem's) slime cores are no longer robotic, this will keep them from getting EMPed. - As a side effect, this also fixes not being able to transplant slime people brains. - Fixes unEquip dropping organs. --- code/modules/mob/living/carbon/brain/brain_item.dm | 2 -- code/modules/mob/living/carbon/human/inventory.dm | 3 +++ code/modules/organs/organ_external.dm | 6 +++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index 7e512279287..18b440e538a 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -80,13 +80,11 @@ /obj/item/organ/brain/slime name = "slime core" desc = "A complex, organic knot of jelly and crystalline particles." - robotic = 2 icon = 'icons/mob/slimes.dmi' icon_state = "green slime extract" /obj/item/organ/brain/golem name = "chem" desc = "A tightly furled roll of paper, covered with indecipherable runes." - robotic = 2 icon = 'icons/obj/wizard.dmi' icon_state = "scroll" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index e1fed3e6319..7e876c1a116 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -111,6 +111,9 @@ if(!. || !I) return + var/obj/item/organ/O = I //Organs shouldn't be removed unless you call droplimb. + if(istype(O) && O.owner == src) + return if(I == wear_suit) if(s_store) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 2a39879d012..997cf8b9e08 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -75,7 +75,11 @@ if(contents.len) var/obj/item/removing = pick(contents) removing.loc = get_turf(user.loc) - if(!(user.l_hand && user.r_hand)) + var/obj/item/organ/O = removing + if(istype(O)) + O.status |= ORGAN_CUT_AWAY + O.removed(user) + else if(!(user.l_hand && user.r_hand)) user.put_in_hands(removing) user.visible_message("[user] extracts [removing] from [src] with [W]!") else