Major code improvement that has been long overdue. The changes have been
thoroughly tested and everything appears to be working fine
- Move catwalks from turf/[retarded path]/catwalk to
obj/structure/catwalk. A dm file has been added to that effect
- Remove iscatwalk() helper check (not needed for an obj/)
- Lattice code has been used -to great effect- to recode catwalks. No
more hardcored nonsense to "make it like there's a space tile
underneath", now there IS space underneath. This should also fix trace
gas problems often witnessed during Derelict plasma floods
- Use relativewall method. There should have been no functional changes.
Catwalks update when new catwalks are added (not when surrounding
catwalks are destroyed, but it still seems logical)
- Add a in-house ex_act system to boot (to compensate for the fact
catwalks no longer use floor's ex_act). The catwalk is either destroyed,
replaced with lattice (add lattice at location, delete catwalk) or
unscathed
- Remove a lot of spaghetti code that has creeped up into ZAS/Atmos
systems and even into tile painter code since catwalks no longer run ZAS
loops and aren't considered turfs anymore
- All maps have been updated to the new catwalk system (otherwise the
map doesn't load, duh)
- Bit of spaghetti code in cable.dm (both item and structure) since
until then cable was NEVER laid on "objects". Works as intended
- Space has been changed to intact = 0. There's no reason for space to
be "intact" because there is only one version of space tiles, and it
fucks with wire placement
Confirmed working :
- Space automatically appears under the tile, catwalks tiles thus act
100 % like space tiles without hardcoding
- Construction and deconstruction works flawlessly. You do need to
precisely click the catwalk grating to deconstruct since the obj/
catwalk uses transparency correctly, but lo and behold, it's a feature
- Explosions function as intended when targetting catwalks (lots of hole
at the center, pepperoni at a distance)
- Cable-related stuff working (laying cable on catwalk, having cable on
catwalks in general)
- Boxstation, Defficiency and Metaclub updated
- Include list updated
Everything should be functional and was tested, but please outline
anything that looks like it'd work badly
ZAS fix. It should now be possible to repair breaches without admin intervention.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Several ZAS fixes.
Adds insulation to doors, modifiable by admins from the ZAS setting panel.
Fixes a logic error with connections. (I am dumb some days)
Improves the runtime detection and reporting.
Improves "zone info" debug verb.
Delayed Jungle setup until after air master initializes
Master controller now properly ceases atmos simulation if runtimes occur (and are detected).
Cleanup more ZAS stuff. FEA_system.dm, ZAS/ZAS_Turfs.dm, ZAS_Zones.dm.
Canisters now autoconnect to portables connectors on creation. (Fixes airlocks not having attached canisters)
Doors can now be made which respect directional door types (e.g. windoors and directional firelocks) and is handled better.
Sped up air equalization between zones
Fixed an issue where space tiles were not removed from the zone.
Made ZAS debug functions accessible when the mapping verbs are toggled on.
ZAS procs are now more standardized, needs more comments though.
Connections between zones now self-manage themselves, adjusting things if/when the turfs they are on change zones. (The check for this is very efficient and fast, but a bit hard to read codewise)
Zone share percent set to 4. Seems to work well.