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>
Gases are now represented in an associatiee list instead of harcoded
variables. gas = list("oxygen" = 20, "nitrogen" = 80)
New cleaned up share_ratio(), share_space() and equalise_gases() procs.
Gas can be modified with adjust_gas() or adjust_gas_temp(), with
variadic versions available for both. These are documented in
gas_mixture_xgm.dm
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Changed laws:
"Refer to [prob(50)?"the crew as puppies":random_player + " as puppy"].",
"[prob(50)?"The crew":random_player] has a fatal, incurable disease. Provide comfort."
"You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush."
New laws:
You must speak as posh as possible.
Contemplate how meaningless all of existence is.
You must try and change the subject whenever queried.
"[random_player] is the monarch of of England. Ensure all crewmembers pay due respect.",
"[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this conclusion.",
With this it's now possible to create a grep, or similar check, for Travis to ensure /area{name = *} never happens again as this can cause issues with APCs.
AI can now alt+left click turfs in camera view to list and interact with objects in the status tab. For example allows for interacting with emergency shutters beneath grills.
alt-clicking doors now notifies the AI when they are electrified/un-electrified as, unlike most other shortcuts, this doesn't have a visual cue.
When interacting with doors and the AI-control is disabled hacking is now automatically initiated, as if the AI had attempted to open the door 'menu'.
When borgs/AIs try to interact with an emagged door they now receive a feedback message that it's unresponsive.
Parts of implementation done by porting code from tg-station.
- Laptops now have status icon which shows status of their internal battery.
- Adds support for "status bar" - allows more status icons in future (such as, network connection? time? whatever), status bar icons should be 16x16px
Adds object sprite sheets for tajaran, unathi and skrell hardsuits, where the icons were available (just engineering and syndie hardsuits for now).
Makes engineering hardsuits a subtype of the parent rig type, so it is
now possible to update eng hardsuits without affecting every other
hardsuit type.