New turf proc: assume_gas(). Maps to air.adjust_gas_temp().
Lots of optimizations to processing, fire, lighting, HasEntered() and
more.
Zones now process all fire data and existance in one go, fire objects
only handle spreading.
Most code has been ported straight so some of it mightn't be ideally
structured for the new gas_mixtures.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Also removes the now unnecessary get_cure_threshold() proc, caps the
rate at which an organ can receive germs from wounds, and makes germs
spread from external to internal organs happen one organ at a time
instead of all at once.
Cleans out the nonverbal language check from say_understands(), which
now is responsible for language only.
Nonverbal languages have a chance of causing an emote when used.
Adds sign languages, which have no verbal component.
Also:
Breathing in hot/cold air will affect your body temperature.
Fixes old body temperature stabilization code not working.
Thermometer icon now adjusts based on species.
Reduced BODYTEMP_AUTORECOVERY_MINIMUM to a less ridiculous value.
Body temperature regulation is now based on species, and environmental
temperature now respects the air density when affecting living/humans.
This also fixes some bugs with heat/cold protection handling and
improves the way synthetic species body temperatures are handled to be
much more logical.
IPCs always gain temperature but cool down because of their environment.
When the heat transfer to the environment is reduced because of the lack
of air, this will cause IPCs to heat up.
As well, having an infection will increase your body temperature, and
body scanners now detect infections.
New things!
/obj/structure/disposalpipe/tagger
- retags a holder when it passes through
/obj/structure/disposalpipe/tagger/partial - retags a holder when it passes through two times; good for loop detection
/obj/structure/disposalpipe/sortjunction/wildcard - filters out all holders that are tagged
/obj/structure/disposalpipe/sortjunction/untagged - filters out untagged holders
Tagging doesn't use an icky list index system any more, tags are put into a global list and directly checked against.
Changed the map around a bit, disposals is now a proper loop but anything that's not tagged, is tagged with "Disposals" or anything that passes the tagger twice will be filtered out.
Not a feature, just a fix for drones being sad about weird disposals. <3
This reverts commit 1679b4062f, reversing
changes made to b149b273d9.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Conflicts:
code/datums/visibility_networks/update_triggers.dm
Armalis gear and mob icons, plus sonic cannon.
Added sonic cannon skeleton code.
Noise cannon fire sound, Vox shriek sound.
Added Vox Armalis species.
Swapped vox breath mask over to species_restricted check.
Added Vox Armalis gear.
Added a random shriek effect to Vox and Vox Armalis speech.
Added quickspawn Vox Armalis definition.
Vox shriek sound effect. Thought I committed this earlier.
Added r_hand and l_hand icon_overwrite checks.
More work on Armalis. Added gut() and leap() human procs.
Adding/fixing up the leap() and gut() verbs, and a LEAPING status_flag for human/Bump().
Fixing some missing pixels in the armalis tail.
Almost forgot to whitelist armalis...