From 4fa6316d398207566ce773f2733549f570ee47b1 Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Sat, 5 Oct 2013 23:25:41 +0100 Subject: [PATCH] Garbage collection for fire and explosive particles. Signed-off-by: Mloc-Argent --- code/WorkInProgress/explosion_particles.dm | 8 ++++---- code/ZAS/Fire.dm | 16 ++++++++++------ 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/code/WorkInProgress/explosion_particles.dm b/code/WorkInProgress/explosion_particles.dm index 9cf81b27ae..11e2cc4f01 100644 --- a/code/WorkInProgress/explosion_particles.dm +++ b/code/WorkInProgress/explosion_particles.dm @@ -1,5 +1,5 @@ /obj/effect/expl_particles - name = "fire" + name = "explosive particles" icon = 'icons/effects/effects.dmi' icon_state = "explosion_particle" opacity = 1 @@ -9,7 +9,7 @@ /obj/effect/expl_particles/New() ..() spawn (15) - del(src) + src.loc = null return /obj/effect/expl_particles/Move() @@ -37,7 +37,7 @@ step(expl,direct) /obj/effect/explosion - name = "fire" + name = "explosive particles" icon = 'icons/effects/96x96.dmi' icon_state = "explosion" opacity = 1 @@ -49,7 +49,7 @@ /obj/effect/explosion/New() ..() spawn (10) - del(src) + src.loc = null return /datum/effect/system/explosion diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index 8370e717ba..0adc394715 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -80,7 +80,7 @@ obj if(firelevel > vsc.IgnitionLevel) var/turf/simulated/floor/S = loc - if(!S.zone) del src //Cannot exist where zones are broken. + if(!S.zone) src.gc_del() //Cannot exist where zones are broken. if(istype(S)) var @@ -139,17 +139,17 @@ obj else - del src + src.gc_del() S.assume_air(flow) //Then put it back where you found it. else - del src + src.gc_del() else - del src + src.gc_del() else - del src + src.gc_del() for(var/mob/living/carbon/human/M in loc) @@ -160,13 +160,17 @@ obj ..() if(!istype(loc, /turf)) - del src + src.gc_del() dir = pick(cardinal) //sd_SetLuminosity(3,2,0) firelevel = fl air_master.active_hotspots.Add(src) + proc/gc_del() + loc = null + air_master.active_hotspots.Remove(src) + Del() if (istype(loc, /turf/simulated)) //sd_SetLuminosity(0)