Added the addZLevel proc, used to sanitize map init and generate the accessable_z_levels list, which is no longer hardcoded.
Fixed a couple of maps I ended up using in testing.
Added more debug data to a debug verb for maps.
Added the movementJammed var, which stops a zlevel being reachable by drift.
Added the movementChance var, which controls how likely a zlevel is to be reached by drifting.
Made the maploader add any new zlevels it creates to the map's zlevel list.
Directly from Google, when looking up "Value of R" :
>The gas constant R is 8.314 J / mol. K.
This game is an atmospheric simulation program at its core, so let's
have precise atmospheric simulation
I would change other atmosphere-related things in here, but they would
need more work
Changelog included
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.
DOES fix#3663 - wrenching and unwrenching now hook into power code. Fixed2work also does something.
SHOULD fix#3670 - forceMove calls the Entered proc, so mobs should have gravity applied properly.
SHOULD fix#2277, 3846 - double agent ought tog fail if there's only one traitor candidate now
Sprites by Skowron, who is, as always, da best.
Added spell buttons for all spells. This is building on an idea originally put in by Deity, but which was done in a snowflake way and only for constructs.
These spell buttons are generated by handler procs for mobs.
Each spell button has a spell icon, changes with its percentage charge, and can be shown or hidden with the spell master.
The spell master itself can be moved around thanks to TG movable objects.
Constructs now inherit Life(), for sanity and goodcode.
Moved several Harvester procs to spells. (We can do this with ling and vamp too!)
Added Narsie listing so Harvesters don't loop through world.
Replaced a lot of strings in spellcode with defines.
Waiting for the wonderful Skowron's sprites for all spells given by genetic powers, as well as a few spells.
Replaced it with use of the atom-level var pressure_resistance.
Engineering, deathsquid, and ERT hardsuits now resist up to 20MPa of pressure, security and medical 4MPa, and soft suits 0.5MPa.
Pressure protection can now also come from items equipped in slots other than the head or suit.
Mobs now have flags deciding what kind of mobs they can mess around with.
This means monkeys will no longer attempt to push humans. Hurrah for xenobio.
Fixes#2903, silicons can now push anything but can't swap with humans.
MoMMIs can swap with any mob but can't push any mob.
Added a proc and 3 vars to handle all this code.
Added another flag for just beards, and made HIDEHAIR the combination of the two.
Added two general procs for seeing if something is hidden. These can be used in the future.
Added general procs for wielding and unwielding.
Made code more OOP.
Any item can now be twohanded, and twohanding is now done by holding an item in one hand and clicking it with the other.
You can switch hands while wielding now, which is only useful in dropping the offhand to stop wielding.
Need to fix: gibtonite carrying doesn't want to work properly.