From c46ba6eca8616637d08119b49a4f43ca33b7fac3 Mon Sep 17 00:00:00 2001 From: Toastical <20125180+Toastical@users.noreply.github.com> Date: Mon, 1 Sep 2025 07:29:03 +0300 Subject: [PATCH] Make get_open_turf respect the airtightness of anything in the turf. (#30152) * free-adjacent-turfs now considers windows * open adjacent turfs arer now determined using millas airtight index --- code/__HELPERS/game.dm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 11d5a1aaeff..027ba2b61e2 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -26,7 +26,23 @@ /proc/get_open_turf_in_dir(atom/center, dir) var/turf/T = get_ranged_target_turf(center, dir, 1) - if(T && !T.density) + if(T) + var/list/milla = new/list(MILLA_TILE_SIZE) + get_tile_atmos(T, milla) + + var/checked_dir + switch(dir) + if(NORTH) + checked_dir = MILLA_NORTH + if(EAST) + checked_dir = MILLA_EAST + if(SOUTH) + checked_dir = MILLA_SOUTH + if(WEST) + checked_dir = MILLA_WEST + + if(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & checked_dir) + return return T /proc/get_adjacent_open_turfs(atom/center)