Fixed the entropy calculation so that it is easier to remove gas from a
hot gas mix, not harder. Added comments explaining the entropy
calculation. Also returns pump and filter efficiency to previous values.
Allows atmos machinery efficiency to be adjusted in setup.dm
Limits flow rates when moving gas from a turf to avoid very high pressures being created when they shouldn't be.
Attempts to limit processing when there isn't much gas to be moved, for performance.
Reverts all changes to _gas_mixture.dm
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.