diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index f00d6f5379..18073a6f6b 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -212,6 +212,7 @@ to_chat(user, "You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor...") if(do_after(user, decon_speed*I.toolspeed, target = src, extra_checks = CALLBACK(src, .proc/check_anchored, anchored))) anchored = !anchored + air_update_turf(TRUE) update_nearby_icons() to_chat(user, "You [anchored ? "fasten the window to":"unfasten the window from"] the floor.") return @@ -334,7 +335,6 @@ return FALSE setDir(target_dir) - air_update_turf(1) ini_dir = dir add_fingerprint(usr) return TRUE @@ -363,11 +363,9 @@ move_update_air(T) /obj/structure/window/CanAtmosPass(turf/T) - if(get_dir(loc, T) == dir) - return !density - if(dir == FULLTILE_WINDOW_DIR) - return !density - return 1 + if(!anchored || !density) + return TRUE + return !(FULLTILE_WINDOW_DIR == dir || dir == get_dir(loc, T)) //This proc is used to update the icons of nearby windows. /obj/structure/window/proc/update_nearby_icons()