From 4c5706bc3a0fa0ed57f2f3ea19b66dd0813f1a1e Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sat, 10 Oct 2015 08:52:35 -0400 Subject: [PATCH] more...fixes --- code/game/machinery/computer/crew.dm | 4 +++ code/game/machinery/computer/power.dm | 25 ++++++++++--------- code/game/machinery/portable_turret.dm | 5 ++++ code/game/objects/items/devices/PDA/cart.dm | 4 +++ .../objects/items/weapons/storage/internal.dm | 4 +++ code/modules/admin/buildmode.dm | 19 ++++++++++++++ code/modules/clothing/suits/storage.dm | 5 ++++ .../mob/living/silicon/robot/robot_modules.dm | 5 ++++ 8 files changed, 59 insertions(+), 12 deletions(-) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 68f9f03f0d4..9f344a8171b 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -14,6 +14,10 @@ crew_monitor = new(src) ..() +/obj/machinery/computer/crew/Destroy() + qdel(crew_monitor) + crew_monitor = null + return ..() /obj/machinery/computer/crew/attack_ai(mob/user) attack_hand(user) diff --git a/code/game/machinery/computer/power.dm b/code/game/machinery/computer/power.dm index c1836fdb21a..a549dd5b64d 100644 --- a/code/game/machinery/computer/power.dm +++ b/code/game/machinery/computer/power.dm @@ -15,30 +15,32 @@ ..() power_monitors += src power_monitors = sortAtom(power_monitors) - power_monitor = new(src) - powermonitor_repository.update_cache() + power_monitor = new(src) + powermonitor_repository.update_cache() powernet = find_powernet() - + /obj/machinery/computer/monitor/Destroy() power_monitors -= src - powermonitor_repository.update_cache() - return ..() - + powermonitor_repository.update_cache() + qdel(power_monitor) + power_monitor = null + return ..() + /obj/machinery/computer/monitor/power_change() ..() - powermonitor_repository.update_cache() - -/obj/machinery/computer/monitor/proc/find_powernet() + powermonitor_repository.update_cache() + +/obj/machinery/computer/monitor/proc/find_powernet() var/obj/structure/cable/attached = null var/turf/T = loc if(isturf(T)) attached = locate() in T if(attached) return attached.get_powernet() - + /obj/machinery/computer/monitor/attack_ai(mob/user) attack_hand(user) - + /obj/machinery/computer/monitor/attack_hand(mob/user) add_fingerprint(user) if(stat & (BROKEN|NOPOWER)) @@ -52,4 +54,3 @@ /obj/machinery/computer/monitor/interact(mob/user) power_monitor.ui_interact(user) - \ No newline at end of file diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 13bdaeec032..7a9dca3fdef 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -86,6 +86,11 @@ setup() +/obj/machinery/porta_turret/Destroy() + qdel(spark_system) + spark_system = null + return ..() + /obj/machinery/porta_turret/centcom/New() ..() if(req_one_access && req_one_access.len) diff --git a/code/game/objects/items/devices/PDA/cart.dm b/code/game/objects/items/devices/PDA/cart.dm index 670d02af975..6ccbbc04c13 100644 --- a/code/game/objects/items/devices/PDA/cart.dm +++ b/code/game/objects/items/devices/PDA/cart.dm @@ -114,6 +114,10 @@ radio = new /obj/item/radio/integrated/signal(src) ..() +/obj/item/weapon/cartridge/signal/Destroy() + qdel(radio) + return ..() + /obj/item/weapon/cartridge/quartermaster name = "Space Parts & Space Vendors Cartridge" desc = "Perfect for the Quartermaster on the go!" diff --git a/code/game/objects/items/weapons/storage/internal.dm b/code/game/objects/items/weapons/storage/internal.dm index ac1aba944ba..33ddaf498f2 100644 --- a/code/game/objects/items/weapons/storage/internal.dm +++ b/code/game/objects/items/weapons/storage/internal.dm @@ -10,6 +10,10 @@ verbs -= /obj/item/verb/verb_pickup //make sure this is never picked up. ..() +/obj/item/weapon/storage/internal/Destroy() + master_item = null + return ..() + /obj/item/weapon/storage/internal/attack_hand() return //make sure this is never picked up diff --git a/code/modules/admin/buildmode.dm b/code/modules/admin/buildmode.dm index 88077425c67..b7b2a0d3683 100644 --- a/code/modules/admin/buildmode.dm +++ b/code/modules/admin/buildmode.dm @@ -50,6 +50,12 @@ icon = 'icons/misc/buildmode.dmi' var/obj/effect/bmode/buildholder/master = null +/obj/effect/bmode/Destroy() + if(master && master.cl) + master.cl.screen -= src + master = null + return ..() + /obj/effect/bmode/builddir icon_state = "build" screen_loc = "NORTH,WEST" @@ -133,6 +139,19 @@ var/turf/cornerB = null var/generator_path = null +/obj/effect/bmode/buildholder/Destroy() + qdel(builddir) + builddir = null + qdel(buildhelp) + buildhelp = null + qdel(buildmode) + buildmode = null + qdel(buildquit) + buildquit = null + throw_atom = null + cl = null + return ..() + /obj/effect/bmode/buildmode icon_state = "buildmode1" screen_loc = "NORTH,WEST+2" diff --git a/code/modules/clothing/suits/storage.dm b/code/modules/clothing/suits/storage.dm index 12c21e2a70e..8ff83a239a8 100644 --- a/code/modules/clothing/suits/storage.dm +++ b/code/modules/clothing/suits/storage.dm @@ -8,6 +8,11 @@ pockets.max_w_class = 2 //fit only pocket sized items pockets.max_combined_w_class = 4 +/obj/item/clothing/suit/storage/Destroy() + qdel(pockets) + pockets = null + return ..() + /obj/item/clothing/suit/storage/attack_hand(mob/user as mob) if (pockets.handle_attack_hand(user)) ..(user) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 9a44a61d3bd..8546c793876 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -32,8 +32,13 @@ src.emag.name = "Placeholder Emag Item" /obj/item/weapon/robot_module/Destroy() + for(var/module in modules) + qdel(module) modules.Cut() + qdel(emag) emag = null + qdel(jetpack) + jetpack = null return ..() /obj/item/weapon/robot_module/proc/fix_modules()