diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm
index 009c12403d..34a9ebd58c 100644
--- a/code/game/machinery/computer/ai_core.dm
+++ b/code/game/machinery/computer/ai_core.dm
@@ -189,7 +189,7 @@
/obj/structure/AIcore/deactivated/Destroy()
if(src in empty_playable_ai_cores)
empty_playable_ai_cores -= src
- ..()
+ return ..()
/obj/structure/AIcore/deactivated/proc/load_ai(var/mob/living/silicon/ai/transfer, var/obj/item/device/aicard/card, var/mob/user)
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index 306fbcad9c..dd07ac5b29 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -97,7 +97,7 @@ var/list/obj/machinery/requests_console/allConsoles = list()
req_console_supplies -= department
if(departmentType & RC_INFO)
req_console_information -= department
- ..()
+ return ..()
/obj/machinery/requests_console/attack_hand(user as mob)
if(..(user))
diff --git a/code/game/objects/effects/chem/foam.dm b/code/game/objects/effects/chem/foam.dm
index 5f29bd6448..2c28dd7ecb 100644
--- a/code/game/objects/effects/chem/foam.dm
+++ b/code/game/objects/effects/chem/foam.dm
@@ -139,7 +139,7 @@
/obj/structure/foamedmetal/Destroy()
density = 0
update_nearby_tiles(1)
- ..()
+ return ..()
/obj/structure/foamedmetal/proc/updateicon()
if(metal == 1)
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index 4d77da4ae9..16e27006b4 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -149,12 +149,9 @@
..()
/obj/structure/closet/body_bag/cryobag/Destroy()
- if(syringe)
- qdel(syringe)
- syringe = null
- qdel(tank)
- tank = null
- ..()
+ qdel_null(syringe)
+ qdel_null(tank)
+ return ..()
/obj/structure/closet/body_bag/cryobag/open()
. = ..()
diff --git a/code/game/objects/items/devices/PDA/radio.dm b/code/game/objects/items/devices/PDA/radio.dm
index 33160a8ed0..019425db0e 100644
--- a/code/game/objects/items/devices/PDA/radio.dm
+++ b/code/game/objects/items/devices/PDA/radio.dm
@@ -152,4 +152,4 @@
/obj/item/radio/integrated/signal/Destroy()
if(radio_controller)
radio_controller.remove_object(src, frequency)
- ..()
+ return ..()
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index 0ec3dc13df..9d6b5d6bd3 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -19,6 +19,11 @@
New()
create_reagents(1000)
+ Destroy()
+ qdel_null(detonator)
+ qdel_null_list(beakers)
+ return ..()
+
attack_self(mob/user as mob)
if(!stage || stage==1)
if(detonator)
diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm
index aff1f4bb31..806047ae37 100644
--- a/code/game/objects/items/weapons/implants/implant.dm
+++ b/code/game/objects/items/weapons/implants/implant.dm
@@ -52,7 +52,7 @@
/obj/item/weapon/implant/Destroy()
if(part)
part.implants.Remove(src)
- ..()
+ return ..()
/obj/item/weapon/implant/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/weapon/implanter))
diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm
index 41c78ecd3b..b021424043 100644
--- a/code/game/objects/items/weapons/tanks/jetpack.dm
+++ b/code/game/objects/items/weapons/tanks/jetpack.dm
@@ -24,8 +24,8 @@
ion_trail.set_up(src)
/obj/item/weapon/tank/jetpack/Destroy()
- qdel(ion_trail)
- ..()
+ qdel_null(ion_trail)
+ return ..()
/obj/item/weapon/tank/jetpack/examine(mob/user)
. = ..()
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 555488cd89..80c19b74b2 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -436,7 +436,7 @@
/obj/item/weapon/weldingtool/experimental/Destroy()
processing_objects -= src
- ..()
+ return ..()
/obj/item/weapon/weldingtool/experimental/process()
..()
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 8dce565f2c..e8ce7430c9 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -116,7 +116,7 @@
unbuckle_mob()
processing_objects -= src
- ..()
+ return ..()
/obj/effect/energy_net/process()
if(isnull(buckled_mob) || buckled_mob.loc != loc)
diff --git a/code/modules/detectivework/tools/rag.dm b/code/modules/detectivework/tools/rag.dm
index bafdddf4ff..32eb1ad4f4 100644
--- a/code/modules/detectivework/tools/rag.dm
+++ b/code/modules/detectivework/tools/rag.dm
@@ -35,7 +35,7 @@
/obj/item/weapon/reagent_containers/glass/rag/Destroy()
processing_objects -= src //so we don't continue turning to ash while gc'd
- ..()
+ return ..()
/obj/item/weapon/reagent_containers/glass/rag/attack_self(mob/user as mob)
if(on_fire)
diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm
index 1971f04bcc..17b81c937b 100644
--- a/code/modules/holodeck/HolodeckObjects.dm
+++ b/code/modules/holodeck/HolodeckObjects.dm
@@ -127,9 +127,6 @@
)
item_state = "boxing"
-/obj/structure/window/reinforced/holowindow/Destroy()
- ..()
-
/obj/structure/window/reinforced/holowindow/attackby(obj/item/W as obj, mob/user as mob)
if(!istype(W)) return//I really wish I did not need this
if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
@@ -183,12 +180,6 @@
qdel(src)
return
-/obj/structure/window/reinforced/holowindow/disappearing/Destroy()
- ..()
-
-/obj/machinery/door/window/holowindoor/Destroy()
- ..()
-
/obj/machinery/door/window/holowindoor/attackby(obj/item/weapon/I as obj, mob/user as mob)
if (src.operating == 1)
@@ -224,17 +215,11 @@
visible_message("[src] fades away as it shatters!")
qdel(src)
-/obj/structure/bed/chair/holochair/Destroy()
- ..()
-
/obj/structure/bed/chair/holochair/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/wrench))
user << ("It's a holochair, you can't dismantle it!")
return
//VOREStation Add
-/obj/structure/bed/holobed/Destroy()
- ..()
-
/obj/structure/bed/holobed/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/wrench))
user << ("It's a holochair, you can't dismantle it!")
@@ -427,6 +412,10 @@
for(var/mob/M in currentarea)
M << "FIGHT!"
+// A window that disappears when the ready button is pressed
+/obj/structure/window/reinforced/holowindow/disappearing
+ name = "Event Window"
+
//Holocarp
/mob/living/simple_animal/hostile/carp/holodeck
diff --git a/code/modules/mob/living/voice/voice.dm b/code/modules/mob/living/voice/voice.dm
index 9408800ad0..9431501ff4 100644
--- a/code/modules/mob/living/voice/voice.dm
+++ b/code/modules/mob/living/voice/voice.dm
@@ -51,7 +51,7 @@
// Description: Removes reference to the communicator, so it can qdel() successfully.
/mob/living/voice/Destroy()
comm = null
- ..()
+ return ..()
// Proc: ghostize()
// Parameters: None
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index 16a1cb3b26..d585effc91 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -35,7 +35,7 @@
/obj/item/weapon/reagent_containers/borghypo/Destroy()
processing_objects.Remove(src)
- ..()
+ return ..()
/obj/item/weapon/reagent_containers/borghypo/process() //Every [recharge_time] seconds, recharge some reagents for the cyborg+
if(++charge_tick < recharge_time)