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
Less datum accessing and fetching and whatnot should speed it up a lot.
get_gas_fuel() and get_gas_oxidiser() have been reverted to slightly older behaviour.
Can't say this will definitely massively reduce CPU, but it will make it significantly faster since get_gas_fuel and get_gas_oxidiser weren't nearly as called as I thought they were.
This should make it so that after screwdriving and crowbaring one of the other dispensers, it doesn't just make a chemical dispenser.
This will also be the first step in making it so that you can have methods of getting these machines in game with out admin assistance.
I found a little mistake with adding more hardhats to the vender on derelict, all the hard hats are called hard hats, other than the firefighting one.
So in the vending menu it was;
hard hat
firefigher helmet
hard hat
hard hat
hard hat
This should fix it so that everything isn't just hard hat.
Also for discussion is, should I add funny descriptions to the other hardhats?
I was think for the white one it should be "Put this hard hat on your head to show everyone who is the head."
Because Head of Engineering would be funny. Say the abbreviation out loud to yourself.
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.
Fixes#4151, ghosts were managing to get to nullspace by click teleporting to the edge of the map. This resolves that issue by making it so click teleporting calls entered just like any other and all other forms of movement.