Adds superconductivity blocking to fulltile plasma windows. (#24901)

* Adds superconductivity blocking to fulltile plasma windows.

* Apply suggestions from code review

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

---------

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
Charlie Nolan
2024-04-03 13:58:54 +00:00
committed by GitHub
co-authored by Burzah
parent 9ed1785ddf
commit 629522d2c7
4 changed files with 14 additions and 8 deletions
@@ -9,9 +9,9 @@
R = 1
if(O.BlockSuperconductivity()) //the direction and open/closed are already checked on CanAtmosPass() so there are no arguments
var/D = get_dir(src, T)
atmos_supeconductivity |= D
atmos_superconductivity |= D
D = get_dir(T, src)
T.atmos_supeconductivity |= D
T.atmos_superconductivity |= D
return 0 //no need to keep going, we got all we asked
for(var/obj/O in T.contents)
@@ -19,15 +19,15 @@
R = 1
if(O.BlockSuperconductivity())
var/D = get_dir(src, T)
atmos_supeconductivity |= D
atmos_superconductivity |= D
D = get_dir(T, src)
T.atmos_supeconductivity |= D
T.atmos_superconductivity |= D
return 0
var/D = get_dir(src, T)
atmos_supeconductivity &= ~D
atmos_superconductivity &= ~D
D = get_dir(T, src)
T.atmos_supeconductivity &= ~D
T.atmos_superconductivity &= ~D
if(!R)
return 1
@@ -404,7 +404,7 @@
//Does particate in air exchange so only consider directions not considered during process_cell()
for(var/direction in GLOB.cardinal)
var/turf/T = get_step(src, direction)
if(!(T in atmos_adjacent_turfs) && !(atmos_supeconductivity & direction))
if(!(T in atmos_adjacent_turfs) && !(atmos_superconductivity & direction))
conductivity_directions += direction
if(conductivity_directions > 0)