diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index e22b1ce804d..81a4ea8ffb0 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -70,6 +70,7 @@ power_change() if(powered(ENVIRON)) stat &= ~NOPOWER + latetoggle() else stat |= NOPOWER return @@ -197,19 +198,27 @@ nextstate = CLOSED - process() + proc/latetoggle() if(operating || stat & NOPOWER || !nextstate) return switch(nextstate) if(OPEN) - spawn() - open() + nextstate = null + open() if(CLOSED) - spawn() - close() - nextstate = null + nextstate = null + close() return + open() + ..() + latetoggle() + return + + close() + ..() + latetoggle() + return do_animate(animation) switch(animation) @@ -276,4 +285,4 @@ /obj/machinery/door/firedoor/multi_tile icon = 'icons/obj/doors/DoorHazard2x1.dmi' - width = 2 \ No newline at end of file + width = 2