From 89bbfbcfad90cf5f88f0289f3e06868c39270800 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 23 Mar 2015 23:25:58 +0000 Subject: [PATCH] Fixes depowered doors not being able to be closed --- code/game/machinery/doors/airlock.dm | 17 +++++++++-------- code/game/machinery/doors/door.dm | 8 ++++---- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 41e88ae741b..8222b0cbed6 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -844,19 +844,20 @@ About the new airlock wires panel: return 0 return ..() -/obj/machinery/door/airlock/can_close(var/forced) +/obj/machinery/door/airlock/can_close() if(locked || welded) return 0 - if(!forced) - //despite the name, this wire is for general door control. - //Bolts are already covered by the check for locked, above - if(!arePowerSystemsOn() || isWireCut(AIRLOCK_WIRE_OPEN_DOOR)) - return 0 return ..() /obj/machinery/door/airlock/close(var/forced=0) - if(!can_close(forced)) - return + if(!can_close()) + return 0 + + if(!forced) + //despite the name, this wire is for general door control. + //Bolts are already covered by the check for locked in can_close() + if(!arePowerSystemsOn() || isWireCut(AIRLOCK_WIRE_OPEN_DOOR)) + return 0 if(safe) for(var/turf/turf in locs) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index f677140cc3e..4f480e41ea2 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -88,10 +88,10 @@ return 0 return 1 -/obj/machinery/door/proc/can_close(var/forced = 0) - if(!density && !operating && !(!forced && (stat & (BROKEN|NOPOWER)))) - return 1 - return 0 +/obj/machinery/door/proc/can_close() + if(density || operating || !ticker) + return 0 + return 1 /obj/machinery/door/Bumped(atom/AM) if(p_open || operating) return