Before: multiple screen_shake's could queue up prior to screenshake being set on the mob setting
oldeye on the last one to queue up to be the random location from the previous screen shake
so sometimes peoples clients were stuck on a location instead of back on the mob.
Now we set screenshake before the spawn so we don't spawn up multiple screen_shakes on the same mob.
Test: Be ghost, hammer the spawn meteors secret 10 times or so, watch as your camera returns back to your mob.
Yay.
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.