Nebula
Nebula copied to clipboard
Assorted ZAS fixes
Description of changes
An assortment of ZAS fixes, mostly related to the creation of unsimulated edges between zones and space.
- Creating a hole in the floor into space will now create an unsimulated edge as expected. This is done by checking if the
zone_membership_candidate
variable has changed toFALSE
during a turf change. Every other case should be covered by the typical checks for exterior atmosphere participation. - Changed the default
open_turf
for flooring and natural flooring to airless variants of open space. This fixes a bug where space tiles weren't being removed from Z-stacks when the bottom most space tile was replaced by plating. I haven't tested how this affects issue #3999 yet. - Doors and other atoms that need to update ZAS connections will now update their
loc
's neighbors if the atom is located on top of an exterior turf. This fixes a bug where unsimulated edges weren't being updated or created as expected. - Fixes a longstanding issue where connections for ZAS edges in the up and down direction weren't being added to turfs' connection managers
Why and what will this PR improve
Fixes a variety of ZAS issues stemming from the simulated/unsimulated turf merger. There is still an issue with gas conservation when merging two zones between z-levels, which I still need to resolve.
Authorship
Myself. Thanks to Penny for the multi-Z get_dir
code.
Changelog
:cl: bugfix: Fixed space tiles not creating vacuums in certain conditions /:cl: