From 81cfcd7af3222eb6d807fd7934030559faf81ff8 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Mon, 12 Oct 2015 02:37:52 -0400 Subject: [PATCH] More Dereferencing --- code/game/machinery/computer/station_alert.dm | 1 + .../objects/items/devices/sensor_device.dm | 9 ++- code/game/objects/objs.dm | 1 - code/modules/assembly/igniter.dm | 63 +++++++++++-------- code/modules/assembly/shock_kit.dm | 2 + code/modules/assembly/signaler.dm | 6 ++ code/modules/mob/login.dm | 4 +- code/modules/mob/mob.dm | 1 + 8 files changed, 56 insertions(+), 31 deletions(-) diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index 19a5d8e59ee..9f1238c56d2 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -25,6 +25,7 @@ /obj/machinery/computer/station_alert/Destroy() alarm_monitor.unregister(src) qdel(alarm_monitor) + alarm_monitor = null return ..() /obj/machinery/computer/station_alert/attack_ai(mob/user) diff --git a/code/game/objects/items/devices/sensor_device.dm b/code/game/objects/items/devices/sensor_device.dm index 730f81f0bdb..6172a603ce5 100644 --- a/code/game/objects/items/devices/sensor_device.dm +++ b/code/game/objects/items/devices/sensor_device.dm @@ -1,5 +1,5 @@ /obj/item/device/sensor_device - name = "handheld crew monitor" + name = "handheld crew monitor" desc = "A miniature machine that tracks suit sensors across the station." icon = 'icons/obj/device.dmi' icon_state = "scanner" @@ -7,10 +7,15 @@ slot_flags = SLOT_BELT origin_tech = "biotech=3;materials=3;magnets=3" var/datum/nano_module/crew_monitor/crew_monitor - + /obj/item/device/sensor_device/New() crew_monitor = new(src) +/obj/item/device/sensor_device/Destroy() + qdel(crew_monitor) + crew_monitor = null + return ..() + /obj/item/device/sensor_device/attack_self(mob/user as mob) ui_interact(user) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index dc560095e3d..bc65d324d82 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -1,6 +1,5 @@ /obj //var/datum/module/mod //not used - var/w_amt = 0 // waster amounts var/origin_tech = null //Used by R&D to determine what research bonuses it grants. var/reliability = 100 //Used by SOME devices to determine how reliable they are. var/crit_fail = 0 diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index ceb621e2e18..29c13f4a6bc 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -3,34 +3,43 @@ desc = "A small electronic device able to ignite combustable substances." icon_state = "igniter" materials = list(MAT_METAL=500, MAT_GLASS=50) - w_amt = 10 origin_tech = "magnets=1" + var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread - describe() - return "The igniter is [secured?"secured.":"unsecured."]" +/obj/item/device/assembly/igniter/New() + ..() + sparks.set_up(2, 0, src) + sparks.attach(src) +/obj/item/device/assembly/igniter/Destroy() + qdel(sparks) + sparks = null + return ..() + + +/obj/item/device/assembly/igniter/describe() + return "The igniter is [secured?"secured.":"unsecured."]" + + +/obj/item/device/assembly/igniter/activate() + if(!..()) return 0//Cooldown check + var/turf/location = get_turf(loc) + if(location) location.hotspot_expose(1000,1000) + if (istype(src.loc,/obj/item/device/assembly_holder)) + if (istype(src.loc.loc, /obj/structure/reagent_dispensers/fueltank/)) + var/obj/structure/reagent_dispensers/fueltank/tank = src.loc.loc + if (tank) + tank.explode() + if (istype(src.loc.loc, /obj/item/weapon/reagent_containers/glass/beaker/)) + var/obj/item/weapon/reagent_containers/glass/beaker/beakerbomb = src.loc.loc + if(beakerbomb) + beakerbomb.heat_beaker() + + sparks.start() + return 1 + + +/obj/item/device/assembly/igniter/attack_self(mob/user as mob) activate() - if(!..()) return 0//Cooldown check - var/turf/location = get_turf(loc) - if(location) location.hotspot_expose(1000,1000) - if (istype(src.loc,/obj/item/device/assembly_holder)) - if (istype(src.loc.loc, /obj/structure/reagent_dispensers/fueltank/)) - var/obj/structure/reagent_dispensers/fueltank/tank = src.loc.loc - if (tank) - tank.explode() - if (istype(src.loc.loc, /obj/item/weapon/reagent_containers/glass/beaker/)) - var/obj/item/weapon/reagent_containers/glass/beaker/beakerbomb = src.loc.loc - if(beakerbomb) - beakerbomb.heat_beaker() - - var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread - s.set_up(3, 1, src) - s.start() - - return 1 - - - attack_self(mob/user as mob) - activate() - add_fingerprint(user) - return \ No newline at end of file + add_fingerprint(user) + return \ No newline at end of file diff --git a/code/modules/assembly/shock_kit.dm b/code/modules/assembly/shock_kit.dm index 70a822cd8fb..d34dc9e4c76 100644 --- a/code/modules/assembly/shock_kit.dm +++ b/code/modules/assembly/shock_kit.dm @@ -11,7 +11,9 @@ /obj/item/assembly/shock_kit/Destroy() qdel(part1) + part1 = null qdel(part2) + part2 = null return ..() /obj/item/assembly/shock_kit/attackby(obj/item/weapon/W as obj, mob/user as mob, params) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 86b4037b1b9..fe33be50f48 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -27,6 +27,12 @@ spawn(1) // For things that set the frequency directly set_frequency(frequency) return + + Destroy() + if(radio_controller) + radio_controller.remove_object(src,frequency) + return ..() + describe() return "\The [src]'s power light is [receiving?"on":"off"]" diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 5f902a9eeb4..a1478496ff7 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -30,7 +30,9 @@ client.images = null //remove the images such as AIs being unable to see runes client.screen = list() //remove hud items just in case - if(hud_used) qdel(hud_used) //remove the hud objects + if(hud_used) + qdel(hud_used) //remove the hud objects + hud_used = null hud_used = new /datum/hud(src) next_move = 1 diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 084ff2d3935..16cf68ef568 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -3,6 +3,7 @@ dead_mob_list -= src living_mob_list -= src qdel(hud_used) + hud_used = null if(mind && mind.current == src) spellremove(src) ghostize()