* initial port * atmolast * tank icons * defines for gas names * oop * icons * methane condensing * tank_vr merge * old icons too * tank and safe toxin levels stuff * doop * gas condensing toxins * choking methane * tank sprites for worn on mob * atmos tank sign * SM monitor * cleanup * copypasta cleanup * fixed gas sensor data * proper sensor * biome issue * standardize these * Update life.dm * Update life.dm --------- Co-authored-by: Cameron Lennox <killer65311@gmail.com>
Zone Air System
This air system divides the station into impermeable areas called zones. When something happens, i.e. a door opening or a wall being taken down, zones equalize and eventually merge. Making an airtight area closes the connection again.
Control Flow:
Every air tick: Marked turfs are updated with update_air_properties(), followed by post_update_air_properties(). Edges, including those generated by connections in the previous step, are processed. This is where gas is exchanged. Fire is processed. Marked zones have their air archived.
Important Functions:
SSair.mark_for_update(turf) When stuff happens, call this. It works on everything. You basically don't need to worry about any other functions besides CanPass().
Notes for people who used ZAS before: There is no connected_zones anymore. To get the zones that are connected to a zone, use this loop: for(var/connection_edge/zone/edge in zone.edges) var/zone/connected_zone = edge.get_connected_zone(zone)