From aa2e25928d5dea0fb7d32fe78f1d019de1fbeace Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Mon, 22 Jun 2015 22:03:24 +0930 Subject: [PATCH] Fixes a runtime with organ Destroy() called with nonhuman owner. --- code/modules/organs/organ.dm | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 933c1de708..b767292511 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -28,18 +28,16 @@ var/list/organ_cache = list() if(!owner) return ..() - if((owner.internal_organs) && (src in owner.internal_organs)) - owner.internal_organs -= src - - if((owner.internal_organs_by_name) && (src in owner.internal_organs_by_name)) - owner.internal_organs_by_name -= src - - if((owner.organs) && (src in owner.organs)) - owner.organs -= src - - if((owner.organs_by_name) && (src in owner.organs_by_name)) - owner.organs_by_name -= src - + if(istype(owner, /mob/living/carbon)) + if((owner.internal_organs) && (src in owner.internal_organs)) + owner.internal_organs -= src + if(istype(owner, /mob/living/carbon/human)) + if((owner.internal_organs_by_name) && (src in owner.internal_organs_by_name)) + owner.internal_organs_by_name -= src + if((owner.organs) && (src in owner.organs)) + owner.organs -= src + if((owner.organs_by_name) && (src in owner.organs_by_name)) + owner.organs_by_name -= src if(src in owner.contents) owner.contents -= src