Morgue/crematorium trays should now garbage collect properly.
This commit is contained in:
PsiOmega
2015-07-13 15:06:02 +02:00
parent 29caccdc6f
commit e11ffcdfc9

View File

@@ -20,6 +20,12 @@
var/obj/structure/m_tray/connected = null
anchored = 1.0
/obj/structure/morgue/Destroy()
if(connected)
qdel(connected)
connected = null
return ..()
/obj/structure/morgue/proc/update()
if (src.connected)
src.icon_state = "morgue0"
@@ -63,8 +69,8 @@
if (!( A.anchored ))
A.loc = src
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
//src.connected = null
qdel(src.connected)
src.connected = null
else
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
src.connected = new /obj/structure/m_tray( src.loc )
@@ -79,8 +85,8 @@
src.connected.icon_state = "morguet"
src.connected.set_dir(src.dir)
else
//src.connected = null
qdel(src.connected)
src.connected = null
src.add_fingerprint(user)
update()
return
@@ -112,11 +118,10 @@
src.icon_state = "morgue0"
for(var/atom/movable/A as mob|obj in src)
A.loc = src.connected.loc
//Foreach goto(106)
src.connected.icon_state = "morguet"
else
//src.connected = null
qdel(src.connected)
src.connected = null
return
@@ -134,6 +139,12 @@
anchored = 1
throwpass = 1
/obj/structure/m_tray/Destroy()
if(connected && connected.connected == src)
connected.connected = null
connected = null
return ..()
/obj/structure/m_tray/attack_hand(mob/user as mob)
if (src.connected)
for(var/atom/movable/A as mob|obj in src.loc)
@@ -179,6 +190,12 @@
var/id = 1
var/locked = 0
/obj/structure/crematorium/Destroy()
if(connected)
qdel(connected)
connected = null
return ..()
/obj/structure/crematorium/proc/update()
if (src.connected)
src.icon_state = "crema0"
@@ -278,11 +295,10 @@
src.icon_state = "crema0"
for(var/atom/movable/A as mob|obj in src)
A.loc = src.connected.loc
//Foreach goto(106)
src.connected.icon_state = "cremat"
else
//src.connected = null
qdel(src.connected)
src.connected = null
return
/obj/structure/crematorium/proc/cremate(atom/A, mob/user as mob)