Merge pull request #9704 from atlantiscze/clean-up-your-trash

[Done] Implements Destroy()'s on some things
This commit is contained in:
Zuhayr
2015-06-10 23:07:38 +09:30
7 changed files with 64 additions and 3 deletions
+21
View File
@@ -24,6 +24,27 @@ var/list/organ_cache = list()
// links chemical IDs to number of ticks for which they'll stay in the blood
germ_level = 0
/obj/item/organ/Destroy()
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(src in owner.contents)
owner.contents -= src
return ..()
/obj/item/organ/proc/update_health()
return
+14
View File
@@ -48,6 +48,20 @@
var/can_grasp
var/can_stand
/obj/item/organ/external/Destroy()
if(parent && parent.children)
parent.children -= src
if(children)
for(var/obj/item/organ/external/C in children)
qdel(C)
if(internal_organs)
for(var/obj/item/organ/O in internal_organs)
qdel(O)
return ..()
/obj/item/organ/external/attack_self(var/mob/user)
if(!contents.len)
return ..()