diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm index fff5245955b..ec0dad71860 100644 --- a/code/game/machinery/embedded_controller/airlock_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_controller.dm @@ -110,10 +110,9 @@ if(pump.pump_direction == ATMOS_DIRECTION_SIPHONING) pump.pressure_checks |= ATMOS_EXTERNAL_BOUND pump.pump_direction = ATMOS_DIRECTION_RELEASING - else if(pump.pump_direction == ATMOS_DIRECTION_RELEASING) + else if(!pump.on) pump.on = TRUE - - pump.update_appearance(UPDATE_ICON) + pump.update_appearance(UPDATE_ICON) else state = AIRLOCK_STATE_CLOSED process_again = TRUE @@ -181,6 +180,8 @@ if(pump.pump_direction == ATMOS_DIRECTION_RELEASING) pump.pressure_checks &= ~ATMOS_EXTERNAL_BOUND pump.pump_direction = ATMOS_DIRECTION_SIPHONING + else if(!pump.on) + pump.on = TRUE pump.update_appearance(UPDATE_ICON) if(AIRLOCK_STATE_OUTOPEN) //state 2 @@ -262,7 +263,7 @@ /// Starts an airlock cycle /obj/machinery/airlock_controller/proc/cycle() - if (state < AIRLOCK_STATE_CLOSED) + if (state == AIRLOCK_STATE_INOPEN || state == AIRLOCK_STATE_PRESSURIZE) target_state = AIRLOCK_STATE_OUTOPEN else target_state = AIRLOCK_STATE_INOPEN