From acc2547e38289c22be286ca05d3022d63d4a384a Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Thu, 8 Feb 2018 22:42:34 -0500 Subject: [PATCH] its works --- code/modules/surgery/organs/organ_external.dm | 32 +++++-------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 58ed8163a14..7e61bc866a7 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -523,7 +523,7 @@ Note that amputating the affected organ does in fact remove the infection from t qdel(src) // If you flashed away to ashes, YOU FLASHED AWAY TO ASHES return null -/obj/item/organ/external/chest/droplimb() +/obj/item/organ/external/proc/disembowel(spillage_zone = "chest") if(!owner) return @@ -539,7 +539,7 @@ Note that amputating the affected organ does in fact remove the infection from t for(var/X in C.internal_organs) var/obj/item/organ/O = X var/org_zone = check_zone(O.parent_organ) - if(org_zone == "chest") + if(org_zone == spillage_zone) O.remove(C) O.forceMove(T) organ_spilled = TRUE @@ -548,30 +548,14 @@ Note that amputating the affected organ does in fact remove the infection from t C.visible_message("[C]'s internal organs spill out onto the floor!") return TRUE +/obj/item/organ/external/chest/droplimb() + if(disembowel()) + return TRUE + /obj/item/organ/external/groin/droplimb() - if(!owner) - return + if(disembowel("groin")) + return TRUE - var/mob/living/carbon/C = owner - - if(!hasorgans(C)) - return - - var/organ_spilled = FALSE - var/turf/T = get_turf(C) - C.add_splatter_floor(T) - playsound(get_turf(C), 'sound/effects/splat.ogg', 25, 1) - for(var/X in C.internal_organs) - var/obj/item/organ/O = X - var/org_zone = check_zone(O.parent_organ) - if(org_zone == "groin") - O.remove(C) - O.forceMove(T) - organ_spilled = TRUE - - if(organ_spilled) - C.visible_message("[C]'s internal organs spill out onto the floor!") - return TRUE /obj/item/organ/external/attackby(obj/item/I, mob/user, params)