Included:
-The process lists use |= instead of += due to the increased stability of the former against double additions.
-Atmospherics machinery is moved under the pipenet processing.
-Modified the atmospherics processes to return 1 when theyve done something, and 0 if they aint done jack shit. Then called scheck() if they return 1, possibly reducing unnecessary scheck calls while still managing to smooth out the atmospherics processing.
-If a powernet happens to get rebuilt by either powernets or power machinery scheck() is also called
Moved gas_mixture gas numbers to a list which is connected to a global gas_datum list, like with reagents.
Modified some maths procs to be more sane, added adjust_gas and set_gas to help with processing.
Added a modular system for gas flags - gases can now be marked as fuel and oxidiser with a flag, logged with a flag, scanned with a flag, etc.
Changed scrubbers to use a list of scrubbing gases rather than a set of vars.
Made miners and xenoarch effects more sensible - they now produce gas by ID, not manually.
Made turfs' starting gases into a list, removed turf gas number vars.
Adds registers to the AAC, these are simply variables.
By default, 10 registers max, this is, however, softcoded.
Data can be both set and gotten from registers using automations.
Tanks are now unaries, not pipes.
Portable connectors are now unaries, not their own type.
Valves are now binaries, T-Valves are now trinaries.
Pipes as much as possible now use the general attackby code.
Slight changes to pooling code.
Removed loads of duplicate code that existed for no real reason.
T-Valves now come in manual and digital and mirrored under those types, not the other way around.
Mirrored connecting sprites for T-Valves should show up properly now.
Never again.
A lot of fixes that became intertwined.
- rscadd: "BEAMS! Emitters now put out a constant beam of energy, which is far less laggy that the old bullet-based method. They also look cooler."
- rscadd: "Prisms can combine emitter beams that multiply the damage."
- rscadd: "Infrared triggers use the same system as emitters."
- rscadd: "Burst HE pipes have their own sprite"
- rscadd: "High-performance event observers (needed for beams)"
- rscadd: "Supermatter audio alerts"
- rscadd: "Added radiation floor decals."
- bugfix: "Burst pipes are no longer baleeted by their own explosions."
- bugfix: "Pipes are given time to release pressure before the next round of pressure checks."
- bugfix: "Explosions are slightly delayed to avoid choruses of simultaneous explosions"
- bugfix: "Gas miners no longer melt."
+ Now with code import/export (JSON-based)
* Remove script works now
* Correctly interfaces with digital valves
* Yes/No dialogs are less stupid now
* Vents stay on after being disconnected from pipenet.
* Valves no longer removed from machinery list.
* JSON parser fixes.
- Atmospherics Automation Consoles now have their own board to ensure
they turn back into the right computer when deconstructed
- While at it, made the new board constructible