diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 67b2f1aa36cf..28e328d20101 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -279,11 +279,25 @@ T.ImmediateCalculateAdjacentTurfs() /obj/machinery/door/firedoor/proc/emergency_pressure_stop(consider_timer = TRUE) - set waitfor = 0 if(density || operating || welded) return if(world.time >= emergency_close_timer || !consider_timer) - close() + emergency_pressure_close() + +/obj/machinery/door/firedoor/proc/emergency_pressure_close() + if(density) + return + if(operating || welded) + return + density = TRUE + air_update_turf(1) + update_icon() + if(visible && !glass) + set_opacity(1) + update_freelook_sight() + if(!(flags_1 & ON_BORDER_1)) + crush() + /obj/machinery/door/firedoor/deconstruct(disassembled = TRUE) if(!(flags_1 & NODECONSTRUCT_1) && disassembled) diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index fc1499397d49..a48db615971b 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -186,23 +186,14 @@ /turf/open/proc/equalize_pressure_in_zone(cyclenum) /turf/open/proc/consider_firelocks(turf/T2) - var/reconsider_adj = FALSE for(var/obj/machinery/atmospherics/components/unary/vent_pump/stopped in T2) stopped.on = FALSE for(var/obj/machinery/atmospherics/components/unary/vent_pump/stopped in src) stopped.on = FALSE for(var/obj/machinery/door/firedoor/FD in T2) - /*if((FD.flags_1 & ON_BORDER_1) && get_dir(T2, src) != FD.dir) - continue*/ FD.emergency_pressure_stop() - reconsider_adj = TRUE for(var/obj/machinery/door/firedoor/FD in src) - /*if((FD.flags_1 & ON_BORDER_1) && get_dir(src, T2) != FD.dir) - continue*/ FD.emergency_pressure_stop() - reconsider_adj = TRUE - if(reconsider_adj) - T2.ImmediateCalculateAdjacentTurfs() // We want those firelocks closed yesterday. /turf/proc/handle_decompression_floor_rip() /turf/open/floor/handle_decompression_floor_rip(sum)