diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 421672c4244..a8c2491ab04 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -25,7 +25,9 @@ density = 0 if(health == 0) playsound(src, "shatter", 70, 1) - electronics = null + if(electronics) + qdel(electronics) + electronics = null return ..() diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index aa3fc551af6..79195b27770 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -25,6 +25,7 @@ if (power_station) power_station.teleporter_console = null power_station = null + return ..() /obj/machinery/computer/teleporter/proc/link_power_station() if(power_station) @@ -296,6 +297,7 @@ if (power_station) power_station.teleporter_hub = null power_station = null + return ..() /obj/machinery/teleport/hub/RefreshParts() var/A = 0 diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 36eb8cbb73e..cefb8a194b4 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -146,7 +146,7 @@ src.product_records.Add(product) /obj/machinery/vending/Destroy() - del(wires) // qdel + qdel(wires) // qdel wires = null if(coin) qdel(coin) // qdel diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index 8cc2eec7391..e895e2f3ad2 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -178,7 +178,6 @@ /obj/structure/alien/weeds/Destroy() var/turf/T = loc - loc = null for (var/obj/structure/alien/weeds/W in range(1,T)) W.updateWeedOverlays() linked_node = null diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 509c70942ea..0e83d0fa1ce 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -124,7 +124,3 @@ spawn(25) can_move = 1 step(src,direction) return - -/obj/effect/dummy/chameleon/Destroy() - master.disrupt(0) - return ..() \ No newline at end of file diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 1f48ee46249..2736ccd4260 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -24,7 +24,6 @@ /obj/item/stack/Destroy() if (usr && usr.machine==src) usr << browse(null, "window=stack") - src.loc = null return ..() /obj/item/stack/examine() diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 2fc252f3d85..06e878f5d2f 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -564,7 +564,7 @@ if (istype(I, /obj/item/stack/tile/grass)) qdel(I) new /obj/structure/table/woodentable/poker( src.loc ) - del(src) + qdel(src) visible_message("[user] adds the grass to the wooden table") diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 609c5afe269..aec5a9ad082 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -6,6 +6,13 @@ mob/living update_hud() return +/mob/living/carbon/Destroy() + for(var/atom/movable/guts in internal_organs) + qdel(guts) + for(var/atom/movable/food in stomach_contents) + qdel(food) + return ..() + /mob/living/carbon/Life() ..() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 93199dce0c2..3fabd2ef851 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -50,6 +50,12 @@ dna.ready_dna(src) UpdateAppearance() +/mob/living/carbon/human/Destroy() + for(var/atom/movable/organelle in organs) + qdel(organelle) + organs = list() + return ..() + /mob/living/carbon/human/dummy real_name = "Test Dummy" status_flags = GODMODE|CANPUSH diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index ca944feb713..4d9661c92d7 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1,4 +1,8 @@ +/mob/living/Destroy() + ..() + return QDEL_HINT_HARDDEL_NOW + /mob/living/Life() ..() if (notransform) return diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index e0c6b9128de..1a42d6f9614 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -2,6 +2,9 @@ mob_list -= src dead_mob_list -= src living_mob_list -= src + qdel(hud_used) + if(mind && mind.current == src) + spellremove(src) ghostize() return ..()