diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm
index 7491a88c9a8..b4286afa676 100644
--- a/code/game/machinery/bots/bots.dm
+++ b/code/game/machinery/bots/bots.dm
@@ -109,7 +109,9 @@
/obj/machinery/bot/Destroy()
aibots -= src
qdel(Radio)
+ Radio = null
qdel(botcard)
+ botcard = null
return ..()
/obj/machinery/bot/proc/add_to_beacons(bot_filter) //Master filter control for bots. Must be placed in the bot's local New() to support map spawned bots.
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index d9e640258a6..8df634c0b50 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -82,6 +82,9 @@ var/global/mulebot_count = 0
unload(0)
qdel(wires)
wires = null
+ if(cell)
+ qdel(cell)
+ cell = null
return ..()
// attack by item
diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm
index 8588baa80df..f50bc1327dd 100644
--- a/code/game/mecha/mech_bay.dm
+++ b/code/game/mecha/mech_bay.dm
@@ -116,6 +116,8 @@
recharge_console.voltage = MC * 10
/obj/machinery/mech_bay_recharge_port/Destroy()
+ qdel(pr_recharger)
+ pr_recharger = null
recharge_console.recharge_port = null
recharge_floor.recharge_port = null
return ..()
diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm
index 40ac8e93bdd..8524a6cbcf2 100644
--- a/code/game/objects/items/weapons/flamethrower.dm
+++ b/code/game/objects/items/weapons/flamethrower.dm
@@ -25,10 +25,13 @@
/obj/item/weapon/flamethrower/Destroy()
if(weldtool)
qdel(weldtool)
+ weldtool = null
if(igniter)
qdel(igniter)
+ igniter = null
if(ptank)
qdel(ptank)
+ ptank = null
return ..()
diff --git a/code/game/objects/items/weapons/grenades/smokebomb.dm b/code/game/objects/items/weapons/grenades/smokebomb.dm
index 2b7e7b7f854..d8ef1d9591b 100644
--- a/code/game/objects/items/weapons/grenades/smokebomb.dm
+++ b/code/game/objects/items/weapons/grenades/smokebomb.dm
@@ -15,6 +15,7 @@
Destroy()
qdel(smoke)
+ smoke = null
return ..()
prime()
diff --git a/code/modules/examine/descriptions/engineering.dm b/code/modules/examine/descriptions/engineering.dm
index c3f9b9b21fa..c8842c21bc7 100644
--- a/code/modules/examine/descriptions/engineering.dm
+++ b/code/modules/examine/descriptions/engineering.dm
@@ -1,4 +1,4 @@
-/obj/machinery/power/supermatter
+/obj/machinery/power/supermatter_shard
description_info = "When energized by a laser (or something hitting it), it emits radiation and heat. If the heat reaches above 7000 kelvin, it will send an alert and start taking damage. \
After integrity falls to zero percent, it will delaminate, causing a massive explosion, station-wide radiation spikes, and hallucinations. \
Supermatter reacts badly to oxygen in the atmosphere. It'll also heat up really quick if it is in vacuum.
\
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm
index c3e4ed577f9..37f675f532e 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/drone.dm
@@ -161,7 +161,7 @@
..()
qdel(src)
-/mob/living/simple_animal/hostile/retaliate/malf_drone/Destroy()
+/mob/living/simple_animal/hostile/retaliate/malf_drone/Destroy() //Seriously, what the actual hell.
//some random debris left behind
if(has_loot)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index c4170888d3d..338f3830766 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -45,6 +45,7 @@
/obj/singularity/Destroy()
processing_objects.Remove(src)
singularities -= src
+ target = null
return ..()
/obj/singularity/Move(atom/newloc, direct)
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index f9b97b7f26a..597a078b320 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -72,6 +72,7 @@
/obj/machinery/power/supermatter_shard/Destroy()
investigate_log("has been destroyed.", "supermatter")
qdel(radio)
+ radio = null
return ..()
/obj/machinery/power/supermatter_shard/proc/explode()
@@ -233,7 +234,7 @@
/obj/machinery/power/supermatter_shard/attack_ai(mob/user as mob)
ui_interact(user)
-
+
/obj/machinery/power/supermatter_shard/attack_ghost(mob/user as mob)
ui_interact(user)
@@ -242,16 +243,16 @@
"You reach out and touch \the [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"",\
"You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.")
- playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1)
-
+ playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1)
+
Consume(user)
-
+
/obj/machinery/power/supermatter_shard/proc/get_integrity()
var/integrity = damage / explosion_point
integrity = round(100 - integrity * 100)
integrity = integrity < 0 ? 0 : integrity
return integrity
-
+
// This is purely informational UI that may be accessed by AIs or robots
/obj/machinery/power/supermatter_shard/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
var/data[0]