2.1.0: New courtroom from 2.1.1 ported over

2.1.1: Added cigarette vendor to engineering foyer

Both maps:
-Removed ID locks on xenobiology and virology airlock controls
-Removed access requirement from escape pod airlocks
-Replaced x-ray cameras in escape pods with regular cameras, as the x-ray was unnecessary for the AI to be able to see into them

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5557 316c924e-a436-60f5-8080-3fe189b3f50e
Made golems a bit faster so they're not so godawful to play.

Made the adamantine core create a golem creation rune (and sends a notice to all ghosts that a rune has been created in whatever location)

The rune lights up when a ghost is hovering over it.

When someone clicks the rune, it'll pull a ghost hovering over it to make the golem instead of a random one.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5558 316c924e-a436-60f5-8080-3fe189b3f50e
Added an attack_slime for simple animals so slimes can hurt them.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5559 316c924e-a436-60f5-8080-3fe189b3f50e
 - Did some very minor optimizations to get_mobs_in_radio_ranges() and set the proc as a background proc.
 - To help further lower the cost of this proc I have lowered the default intercom range to 2. I then added consistency of not being able to use an intercom from across the room by adding a check for distance, using the same variable as the intercom range. 
 - Committing a fix by VistaPOWA for the changeling sting drink. You should be able to create it now by mixing screwdrivercocktail, limejuice and lemonjuice.
Before it was orangejuice, limejuice, lemonuice and vodka but orangejuice and vodka would mix first to create screwdrivercocktail.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5560 316c924e-a436-60f5-8080-3fe189b3f50e
Updated icons for
>Balaclava, on mob and item
>Decloner gun that no one uses but hey at least it's sexy now
>M-1911p. It now has a chrome finish instead of a dulled metal finish.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5561 316c924e-a436-60f5-8080-3fe189b3f50e
Added a description of DeptSec to the changelog, as well as instructions on how to run.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5562 316c924e-a436-60f5-8080-3fe189b3f50e
Slimes can no longer be buckled to things, they're too squishy (people were abusing the fact that slime AI can't unbuckle)

Golems get head protection from their suit now and have their head slot clear so you can tell em apart with hats.

Fixed a typo related to slime surgery that I assume has been around since metroids were added how did nobody notice this thanks Failcakes.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5563 316c924e-a436-60f5-8080-3fe189b3f50e
Grammar fixes for item-suicides. 
I got about half-way through changing these when SuperSayu came up and said he fixed this a while ago but never posted the fix. So technically half of these were fixed by me and half by him. Credit to both of us!

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5564 316c924e-a436-60f5-8080-3fe189b3f50e
Some improvement to the teleport scroll and spell code. It unbuckles the user now.
Thanks to Nodrak~

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5565 316c924e-a436-60f5-8080-3fe189b3f50e
Set the access levels for jobs, when 'minimal access levels' is not enabled. This is intended for servers with low populations. The access levels for jobs are:

bartender, chef, botanist: hydro, bar, kitchen, morgue
cargo tech, mining, quartermaster: maint, mail, cargo, mule, qm, mint, mining, mining station
clown: clown, theater, maint
mine: mime, theater, maint
janitor: janitor, maint
librarian: library, maint
lawyer: layer, court, sec door, maint
chapel: morgue, chapel, crematorium, maint
ce: no change
station engineer, atmos tech: eva, engine, apc, tech storage, maint, external, construction, atmospherics
cmo: no change
doctor, chemist, virologist: medical, morgue, surgery, chemistry, genetics
geneticist: same as doctor + science
rd: no change
scientist: robotics, tox, tox storage, research, xeno
roboticist: robotics, tox, tox storage, tech storage, morgue, research
hos: no change
warden: sec, sec doors, brig, armory, court, maint, morgue
detective: no change
sec officer: security, sec doors, brig, court, maint, morgue

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5566 316c924e-a436-60f5-8080-3fe189b3f50e
- Added null checks for get_mobs_in_radio_range().
- Added a check to EI NATH for humans who are brainless.
- Fixed fires runtiming. When I replaced del(src) with a garbage collecting proc, I forgot to return afterwards so the rest of the code didn't execute.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5567 316c924e-a436-60f5-8080-3fe189b3f50e
 - Fixed design IDs not being unique. They should be constructable now.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5568 316c924e-a436-60f5-8080-3fe189b3f50e
 - Major optimisations to handle_reactions().

How is this an improvement? Before we looped through every possible reaction to see if a reaction would occure with our list of reagents. Now we already make a list of reagents which can have a reactions, cutting down on searching every single time. This will decrease the loop expensive iterations from 100s to only a handful.

How does it work? We format our chemical_reactions_list like this:

chemical_reactions_list[reagent_id] = list()

And then we fill that list of possible reactions. Thanks to Exadv1, to cut down on redundancy we only need to have a reaction in a single list at a single time, because our handle_reaction() loop will handle that.

Here is a paste of the structure of the list on runtime. http://privatepaste.com/327bb61628

(has: = an entry in the list that it is nested in)

 - Fixed mecha weapons shooting over people lying down.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5569 316c924e-a436-60f5-8080-3fe189b3f50e
Now you can properly profile all the components of the master controller. Preliminary tests show machines in aggregate are more processor intensive than atmospherics.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5570 316c924e-a436-60f5-8080-3fe189b3f50e
- Added killswitches to say, whisper, me, ooc, adminhelp and pray to try to determine if communication verbs are the cause of the constant lag we're getting. Toggle the killswitch with the 'disable communication verbs' verb, available in debug verbs.
- Added killswitches to all Enter() and Entered() procs to try to determine if movement is the source of all the constant lag we're having. Toggle the killswitch with the 'disable all movement' verb, available in debug verbs.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5571 316c924e-a436-60f5-8080-3fe189b3f50e
- Small edit to the movement killswitch. The person who enables it will now be allowed to move, so he can try to detect any change to lag.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5572 316c924e-a436-60f5-8080-3fe189b3f50e
 - Implant pads will no longer be stuck inside your pocket. Fixes Issue 1058.
 - The free objective for cultists will be an automatic success.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5573 316c924e-a436-60f5-8080-3fe189b3f50e
Runtime fix for trying to open deleted records on the cloning machine.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5574 316c924e-a436-60f5-8080-3fe189b3f50e
Runtime fix for trying to remove a missing beaker from the cryo tubes. The beakers now drop one tile down of the cryo instead of the tube location, it's more visible now.
Completed the runtime fix of r5574.

git-svn-id: https://tgstation13.googlecode.com/svn/trunk@5575 316c924e-a436-60f5-8080-3fe189b3f50e