diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 083d33259b..b7accbffce 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -40,21 +40,21 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return if(2.0) if (prob(50)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return if(3.0) if (prob(5)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return @@ -67,7 +67,7 @@ if (src.connected) for(var/atom/movable/A as mob|obj in src.connected.loc) if (!( A.anchored )) - A.loc = src + A.forceMove(src) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) qdel(src.connected) src.connected = null @@ -81,7 +81,7 @@ src.connected.connected = src src.icon_state = "morgue0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.forceMove(src.connected.loc) src.connected.icon_state = "morguet" src.connected.set_dir(src.dir) else @@ -117,7 +117,7 @@ src.connected.connected = src src.icon_state = "morgue0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.forceMove(src.connected.loc) src.connected.icon_state = "morguet" else qdel(src.connected) @@ -149,7 +149,7 @@ if (src.connected) for(var/atom/movable/A as mob|obj in src.loc) if (!( A.anchored )) - A.loc = src.connected + A.forceMove(src.connected) //Foreach goto(26) src.connected.connected = null src.connected.update() @@ -166,7 +166,7 @@ return if (!ismob(user) || user.stat || user.lying || user.stunned) return - O.loc = src.loc + O.forceMove(src.loc) if (user != O) for(var/mob/B in viewers(user, 3)) if ((B.client && !( B.blinded ))) @@ -210,21 +210,21 @@ switch(severity) if(1.0) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return if(2.0) if (prob(50)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return if(3.0) if (prob(5)) for(var/atom/movable/A as mob|obj in src) - A.loc = src.loc + A.forceMove(src.loc) ex_act(severity) qdel(src) return @@ -246,7 +246,7 @@ if ((src.connected) && (src.locked == 0)) for(var/atom/movable/A as mob|obj in src.connected.loc) if (!( A.anchored )) - A.loc = src + A.forceMove(src) playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) //src.connected = null qdel(src.connected) @@ -260,7 +260,7 @@ src.connected.connected = src src.icon_state = "crema0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.forceMove(src.connected.loc) src.connected.icon_state = "cremat" else //src.connected = null @@ -294,7 +294,7 @@ src.connected.connected = src src.icon_state = "crema0" for(var/atom/movable/A as mob|obj in src) - A.loc = src.connected.loc + A.forceMove(src.connected.loc) src.connected.icon_state = "cremat" else qdel(src.connected) @@ -366,11 +366,17 @@ anchored = 1 throwpass = 1 +/obj/structure/c_tray/Destroy() + if(connected && connected.connected == src) + connected.connected = null + connected = null + return ..() + /obj/structure/c_tray/attack_hand(mob/user as mob) if (src.connected) for(var/atom/movable/A as mob|obj in src.loc) if (!( A.anchored )) - A.loc = src.connected + A.forceMove(src.connected) //Foreach goto(26) src.connected.connected = null src.connected.update() @@ -387,7 +393,7 @@ return if (!ismob(user) || user.stat || user.lying || user.stunned) return - O.loc = src.loc + O.forceMove(src.loc) if (user != O) for(var/mob/B in viewers(user, 3)) if ((B.client && !( B.blinded ))) @@ -406,7 +412,7 @@ /obj/machinery/button/crematorium/attack_hand(mob/user as mob) if(..()) return - if(src.allowed(usr)) + if(src.allowed(user)) for (var/obj/structure/crematorium/C in world) if (C.id == id) if (!C.cremating) diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index fd1e53ae0a..9dd8d1f956 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -46,7 +46,7 @@ eject() if(trunk) trunk.linked = null - ..() + return ..() // attack by item places it in to disposal /obj/machinery/disposal/attackby(var/obj/item/I, var/mob/user) @@ -636,7 +636,7 @@ /obj/structure/disposalholder/Destroy() qdel(gas) active = 0 - ..() + return ..() // Disposal pipes