5757 }
5858
5959#ifdef MULTIZAS
60-
61- var /global /list /csrfz_check = list (NORTHEAST , NORTHWEST , SOUTHEAST , SOUTHWEST , NORTHUP , EASTUP , WESTUP , SOUTHUP , NORTHDOWN , EASTDOWN , WESTDOWN , SOUTHDOWN )
62- var /global /list /gzn_check = list (NORTH , SOUTH , EAST , WEST , UP , DOWN )
60+ #define ZAS_CSRFZ_CHECK global . cornerdirsz
61+ #define ZAS_GZN_CHECK global . cardinalz
6362
6463#define ATMOS_CANPASS_TURF (ret, A, B ) \
6564 if (A. blocks_air & AIR_BLOCKED || B. blocks_air & AIR_BLOCKED ) { \
6665 ret = BLOCKED ; \
6766 } \
68- else if (B. z != A. z) { \
69- if (B.z < A.z ) { \
70- ret = (A.z_flags & ZM_ALLOW_ATMOS ) ? ZONE_BLOCKED : BLOCKED ; \
71- } \
72- else { \
73- ret = (B.z_flags & ZM_ALLOW_ATMOS ) ? ZONE_BLOCKED : BLOCKED ; \
74- } \
67+ else if (B. z < A. z) { \
68+ ret = (A.z_flags & ZM_ALLOW_ATMOS ) ? ZONE_BLOCKED : BLOCKED ; \
7569 } \
76- else if (A . blocks_air & ZONE_BLOCKED || B . blocks_air & ZONE_BLOCKED ) { \
77- ret = (A .z == B .z ) ? ZONE_BLOCKED : AIR_BLOCKED ; \
70+ else if (B . z > A . z ) { \
71+ ret = (B .z_flags & ZM_ALLOW_ATMOS ) ? ZONE_BLOCKED : BLOCKED ; \
7872 } \
79- else if (A. contents. len) { \
73+ else if ((A. blocks_air & ZONE_BLOCKED ) || (B. blocks_air & ZONE_BLOCKED )) { \
74+ ret = ZONE_BLOCKED ; \
75+ } \
76+ else if (length(A. contents)) { \
8077 ret = 0 ;\
81- for (var /thing in A) { \
82- var /atom/movable /AM = thing; \
78+ for (var /atom/movable /AM as anything in A) { \
8379 ATMOS_CANPASS_MOVABLE (ret, AM , B); \
8480 if (ret == BLOCKED ) { \
8581 break ;\
@@ -88,8 +84,8 @@ var/global/list/gzn_check = list(NORTH, SOUTH, EAST, WEST, UP, DOWN)
8884 }
8985#else
9086
91- var / global / list / csrfz_check = list ( NORTHEAST , NORTHWEST , SOUTHEAST , SOUTHWEST )
92- var / global / list / gzn_check = list ( NORTH , SOUTH , EAST , WEST )
87+ #define ZAS_CSRFZ_CHECK global . cornerdirs
88+ #define ZAS_GZN_CHECK global . cardinal
9389
9490#define ATMOS_CANPASS_TURF (ret, A, B ) \
9591 if (A. blocks_air & AIR_BLOCKED || B. blocks_air & AIR_BLOCKED ) { \
@@ -98,7 +94,7 @@ var/global/list/gzn_check = list(NORTH, SOUTH, EAST, WEST)
9894 else if (A. blocks_air & ZONE_BLOCKED || B. blocks_air & ZONE_BLOCKED ) { \
9995 ret = ZONE_BLOCKED ; \
10096 } \
101- else if (A. contents. len ) { \
97+ else if (length( A. contents) ) { \
10298 ret = 0 ;\
10399 for (var /thing in A) { \
104100 var /atom/movable /AM = thing; \
0 commit comments