mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Fixes #10143.
Morgue/crematorium trays should now garbage collect properly.
This commit is contained in:
@@ -20,6 +20,12 @@
|
|||||||
var/obj/structure/m_tray/connected = null
|
var/obj/structure/m_tray/connected = null
|
||||||
anchored = 1.0
|
anchored = 1.0
|
||||||
|
|
||||||
|
/obj/structure/morgue/Destroy()
|
||||||
|
if(connected)
|
||||||
|
qdel(connected)
|
||||||
|
connected = null
|
||||||
|
return ..()
|
||||||
|
|
||||||
/obj/structure/morgue/proc/update()
|
/obj/structure/morgue/proc/update()
|
||||||
if (src.connected)
|
if (src.connected)
|
||||||
src.icon_state = "morgue0"
|
src.icon_state = "morgue0"
|
||||||
@@ -63,8 +69,8 @@
|
|||||||
if (!( A.anchored ))
|
if (!( A.anchored ))
|
||||||
A.loc = src
|
A.loc = src
|
||||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||||
//src.connected = null
|
|
||||||
qdel(src.connected)
|
qdel(src.connected)
|
||||||
|
src.connected = null
|
||||||
else
|
else
|
||||||
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||||
src.connected = new /obj/structure/m_tray( src.loc )
|
src.connected = new /obj/structure/m_tray( src.loc )
|
||||||
@@ -79,8 +85,8 @@
|
|||||||
src.connected.icon_state = "morguet"
|
src.connected.icon_state = "morguet"
|
||||||
src.connected.set_dir(src.dir)
|
src.connected.set_dir(src.dir)
|
||||||
else
|
else
|
||||||
//src.connected = null
|
|
||||||
qdel(src.connected)
|
qdel(src.connected)
|
||||||
|
src.connected = null
|
||||||
src.add_fingerprint(user)
|
src.add_fingerprint(user)
|
||||||
update()
|
update()
|
||||||
return
|
return
|
||||||
@@ -112,11 +118,10 @@
|
|||||||
src.icon_state = "morgue0"
|
src.icon_state = "morgue0"
|
||||||
for(var/atom/movable/A as mob|obj in src)
|
for(var/atom/movable/A as mob|obj in src)
|
||||||
A.loc = src.connected.loc
|
A.loc = src.connected.loc
|
||||||
//Foreach goto(106)
|
|
||||||
src.connected.icon_state = "morguet"
|
src.connected.icon_state = "morguet"
|
||||||
else
|
else
|
||||||
//src.connected = null
|
|
||||||
qdel(src.connected)
|
qdel(src.connected)
|
||||||
|
src.connected = null
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -134,6 +139,12 @@
|
|||||||
anchored = 1
|
anchored = 1
|
||||||
throwpass = 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)
|
/obj/structure/m_tray/attack_hand(mob/user as mob)
|
||||||
if (src.connected)
|
if (src.connected)
|
||||||
for(var/atom/movable/A as mob|obj in src.loc)
|
for(var/atom/movable/A as mob|obj in src.loc)
|
||||||
@@ -179,6 +190,12 @@
|
|||||||
var/id = 1
|
var/id = 1
|
||||||
var/locked = 0
|
var/locked = 0
|
||||||
|
|
||||||
|
/obj/structure/crematorium/Destroy()
|
||||||
|
if(connected)
|
||||||
|
qdel(connected)
|
||||||
|
connected = null
|
||||||
|
return ..()
|
||||||
|
|
||||||
/obj/structure/crematorium/proc/update()
|
/obj/structure/crematorium/proc/update()
|
||||||
if (src.connected)
|
if (src.connected)
|
||||||
src.icon_state = "crema0"
|
src.icon_state = "crema0"
|
||||||
@@ -278,11 +295,10 @@
|
|||||||
src.icon_state = "crema0"
|
src.icon_state = "crema0"
|
||||||
for(var/atom/movable/A as mob|obj in src)
|
for(var/atom/movable/A as mob|obj in src)
|
||||||
A.loc = src.connected.loc
|
A.loc = src.connected.loc
|
||||||
//Foreach goto(106)
|
|
||||||
src.connected.icon_state = "cremat"
|
src.connected.icon_state = "cremat"
|
||||||
else
|
else
|
||||||
//src.connected = null
|
|
||||||
qdel(src.connected)
|
qdel(src.connected)
|
||||||
|
src.connected = null
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/structure/crematorium/proc/cremate(atom/A, mob/user as mob)
|
/obj/structure/crematorium/proc/cremate(atom/A, mob/user as mob)
|
||||||
|
|||||||
Reference in New Issue
Block a user