Updated ashtray to actually accept cig butts and crush lit cigs properly.
Applied random transform to cig butts, and made fingerprints from original cig carry over.
Tanks placed in canisters, scanned with PDA or other analysis tool will set the manipulated_by variable to whoever did so.
The idea is that this person is aware what's in the tank and will act accordingly when you press the internals HUD icon.
If the user was the last person to manipulate the tank (or it's not been manipulated) then the user is smart about selecting the proper tank.
If the user was not the last person to manipulate the tank then he is only checking the pressure gauge to see what tank is fullest that matches his species breath_type
If that tank has nasties in it, welp he is going to get a breathful of nasties.
DNA now stores blocks internally as numbers and only makes the uni_identity and struc_enzymes strings when something has changed. This is vastly more efficient.
In addition, the API for using it has been simplified. Common tasks, such as setting a sub-block, or getting a value from the block, are handled entirely by the DNA datum with simple, easy-to-use procs.
Tested on local server, but may need balancing and additional look-over since the code is from our server (/vg/) and I likely broke or forgot something.
Problem: Person fixing bug #2006 was a bit too specific about type of autoinjectors able to fit in belt.
Solution: Be less specific. Now hyposprays fit in belts.
Added eyes as an internal organ, removed the eye-stat var on mobs and changed it to properly direct it to eye damage. Altered all reference.
Updated the sleeper to allow for ejection of the beakers and occupants in panel.
Updated the body scanner to check for prosthetics/mechanized organs, and inform the individual of the blind disability.
Laid the groundwork for mechanical and assisted internal organs.
Groundwork for chemical: Peridaxon, a chemical that allows for the slow regeneration from organ damage.