Merge pull request #5723 from PsiOmegaDelta/Ion

Corrects misspellings in Ion laws.
Resets values for vents/scrubbers that were equal to the default.
Freezers now have appropriate icons on the map depending on state. Cleans up freezer and medical door vars.
Arranges vent settings, default values and icon state in particular.
Replaces airless turfs in medbay with airfull variants. Adds protection around disposal chutes.
Tries to arrange the ion laws in a more readable way, changes a few laws to be more correct, adds new laws.

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.",
borer mindcontrol release hotfix

forgot to remove this remnant ckey check
Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into dev
Merge pull request #5726 from Ccomp5950/fix_antagHUD_mutiny

Mutineers and Loyalist will now show up properly in antagHUD.
new XGM gas mixture datum

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>
Merge pull request #5734 from Walter0o/borer_hotfix

borer mindcontrol release hotfix
integrate XGM into the code

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>
make gas mask filtering more generic

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
added debugging verb support for gas_data

Updates mod_list() with associative editing support.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Chem Master won't resize it's window by adding a scroll bar on selection.

Fixes #5574
screen_shake (meteors, etc.) made more robust and works with aiEyes

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.
Positronic brains (and every other mob) using binary chat will no longer send their messages twice.

Fixes: #5444
Ghosts will no longer hear clientless mobs random talking unless they are in view.

Experiment 97B says, 'EHEHEHEHEHEHEHE!'
PDA ID link will no longer overflow with long names/jobs.

Screw you Billybob Bo-Bob-George III, Atmospheric Technician

Fixes: 5287
Crew Monitor will no longer show "weird characters"

It has been talked to and feels very sorry for it's actions.

Well that and NanoUI doesn't like byond text-macros (/improper) in this case, so we just sanitize it just incase the crew monitor isn't playing nice that day.