TG: An attempt to make the master controller more robust.  This shouldn't cause
terrible additional lag, given that the master controller doesn't actually fire
that often, and can also give us a clue as to what part of the controller has
died in case of failure
Modifies do_after to something that fires a lot less, and is hopefully more
robust against infinite loops. It is now theoretically possible to run around
and then come back to the same place and have it complete, but that's only
really valid for extremely long times (like handcuff removal) and if you get
lucky and dodge one of the timed checks.
Revision: r3421
Author: 	 VivianFoxfoot
TG: Late-join features and bug fixes:
- Merged 'Game' and 'Lobby' tabs during pre-game into one tab.
- Late-joiners now see round duration.
- Late-joiners are warned if the shuttle is not recallable or has already left
to Centcomm.
- Added the little red X to the top corner of the late-join job list window
- Supply shuttle derp fix
- Removed duplicate mining shuttle code that was inside atmos computer stuff
- - This should fix the player seeing both the 'Shuttle has been sent' and 'The
shuttle is already moving' messages.
- Updated changelog
Revision: r3433
Author: 	 johnsonmt88
TG: Sieve committed:
Adds disabled variables to borg and mech RCD
RCDs are disabled if they are used on the escape shuttle or hyperspace around it
This applies to what they are used on, not where the user is, so it is immune to
teleporting issues
Revision: r3434
Author: 	 petethegoat
TG: Runtime fixes for:
runtime error: Cannot modify null.layer. proc name: done
(/obj/effect/equip_e/human/done) usr: Ramona Fawkes (/mob/living/carbon/human)
src: the human (/obj/effect/equip_e/human)
call stack: the human (/obj/effect/equip_e/human): done() the human
(/obj/effect/equip_e/human): process()

runtime error: Cannot execute null.use(). proc name: attackby
(/obj/structure/barricade/wooden/attackby) usr: Jeffery Long
(/mob/living/carbon/human) src: the wooden barricade
(/obj/structure/barricade/wooden) call stack: the wooden barricade
(/obj/structure/barricade/wooden): attackby(null, Jeffery Long
(/mob/living/carbon/human)) the wooden barricade
(/obj/structure/barricade/wooden): DblClick(the floor (159,129,1)
(/turf/simulated/floor), "mapwindow.map", "icon-x=15;icon-y=12;left=1;scr...")

Rewrote wielded weapons to be their own weapon subclass. There was no point
having a var/wielded var/twohanded var/force_unwielded var/force_wielded for
every damn item when there is only 1 wield-able weapon anyway. All the wield-
able stuff is now in twohanded.dm

Changed the adminhelpsound to some creative commons sound I pinched. Until
somebody can get a better one. I'm sick of MAAAAAAAAOOOOOOW.

All PMs trigger the adminhelp sound. That means when you OM a player they get
the sound, if a admin is PMed they only hear it if their adminhelp sounds are
enabled. This should allow people to get eachother's attention when t he chat is
busy.

Fixed some bad code with poddoors (which is used for the shutters in QM)
Revision: r3435
Author: 	 elly1...@rocketmail.com
TG: Fixing dem runtimes:

Temp-fix for mob/say.dm It's being sent null from Tcomms, so I'll leave it to
somebody with experience with that.

Fix for items bein  in your inventory and on the floor

Fix to stop people pulling themselves and causing runtimes (lol)

Fixes a bunch of stuff in the flash code. EMPs will now cause flashes to flash
their holder. They don't runtime when flashing cadavers. They don't runtime when
being EMPed. They will (hopefully) rev those select few buggy people who weren't
getting reved previously. (I can't fix that totally without playing with a bunch
of mind stuff)

Fix for throwing nothing. :P

Fix for removing tanks that don't exist from transfer valves.
Revision: r3441
Author: 	 elly1...@rocketmail.com
TG: ◘The problem:
People being able to move while resting/lying

◘What caused it:
When a user decided to press "rest", a single variable, resting, was switched
from 0 to 1. Through life.dm procs, when the handle_regular_status() proc saw
the mob resting && his weakness being 0 or less, it would just give him 2
seconds of being-weak, through Weaken(2). Later on, the proc called
update_canmove() to see if the guy had the ability to move due to weakness but
also due to reagents/drugs/sleep etc.

At every tick, this proc also reduced mob.weakness by 1.

The chain that led to the problem was:
○User decides to rest
○resting is set to 1, handle_regular_status_updates() runs
○Proc sees that the user's resting var == 1. Does mob.weakness = 2
○Proc handles weakness. mob.weakness -= 1. It is now 1.
○update_canmove() is blind to resting, though sees that there's weakness. Sets
canmove to 0
○Proc runs again the following second
○Proc sees user is resting.
○mob.weakness <= 0 fails, since it's 1 from the last run. Weakness stays at 1.
○Proc handles weakness, mob.weakness-=1. It is now 0.
○update_canmove() now sees that there's  no weakness, and sets canmove to 1,
even though the user is still resting & lying
○For a second, the user is able to roll around on his lying butt
○Proc runs again, giving Weaken(2) and disables movement again, and the circle
repeats.

◘How it got fixed:
Made update_canmove() not blind to resting. I don't like this solution, as
resting still equals weakening and there's wasted processing, albeit miniscule.
I will try to work on something better.

◘Sleep can now go over 1 again, some dumb shit did not realise this and led to
sleep being weak as hell. You can now put people to permanent sleep through
anaesthetic gasses and toxins. Deciding to sleep will put you out for 20.
Deciding to faint will put you out for 10.
Revision: r3442
Author: 	 polyxenitopalidou
TG: Fixed a syringe gun runtime.
Added WJohnston's silver head ID, and his new asteroid floor sprites.
Revision: r3443
Author: 	 petethegoat
TG: Rewrote blackholes (gravitational anomalies) and wormholes to try and optimise
them a little. If you have any concerns about how I've done so just give me a
shout and I'll either rework them or revert my changes back. Wormholes
especially seem a bit faster on my laptop. Smoke has temporarily been removed
from the blackhole event until I get time to investigate why the hell
effect_systems are using so much memory ( spark effects were using 40% of my
processor a second ago D: ). To compensate this I made them a new sprite.

Commented out the authentication system. It was the remnants of the old goon
authentication stuff (or maybe even older) and wasn't actually used in our code
at all (at least not in any useful way, it was merely called and short-circuited
to 1, so all those if(authenticated) were totally pointless. This has removed 3
unused variables from every client, a bunch of unused variables from the config
and two empty text files!

Committed (as a config option) a feature requested by Apoc station. It causes a
'reply to' window to popup when an admin PMs a non-admin player. It's meant to
grab their attention so they can't say "I didn't see your PM". It defaults to
off. To turn it on just uncomment the #POPUP_ADMIN_PM line in config/config.txt

Fixed a derp in isday where it was fetching the month instead of the day.

Removed medal references from Gib()

Removed the medal_hub global variables because they aren't used in any way shape
or form.
Revision: r3444
Author: 	 elly1...@rocketmail.com
Date: 	Apr 12, 2012
TG: - pAI names now have a character limit and are sanitized
- Removed duplicate drink checks
Revision: r3446
Author: 	 johnsonmt88
TG: Fix to DNA so that if a power block lands on block 11, not all clones come out
male.
Change to robot restart module to make it clear the cyborg has to be healed
before use.
Revision: r3447
Author: 	 VivianFoxfoot
TG: -Blenders can now be filled directly from plant bags. Chefs rejoice.
-Couple of minor grammar fixes, so people aren't carving faces into "the the
pumpkin" any longer.
Revision: r3449
Author: 	 VivianFoxfoot
TG: Adds an adminverb to quickly take control of a mob, mostly for testing
Mech fabricator can no longer sync while it has a queue
Fixes resisting out of cuffbuckling.
Revision: r3449
Author: 	 VivianFoxfoo
TG: Added the foundations of a special-day events system. It's a bit more robust,
tidy and efficient than calling isDay everywhere. It defaults to disabled. It
can be enabled by uncommenting ALLOW_HOLIDAYS in config/config.txt

I've added no content just the foundations. All it does is give the station a
holiday themed name and say "Happy [Holiday] Everybody!" at the round-start.

Added a .Set Holiday verb for GM and GA Admins. I'd rather people didn't use it
for now (there's not much point as there's no content yet anyway). It's mainly
for bugtesting.

Foundations are there to create holiday random events and round-start stuff so
we can keep everything together. Check out code/game/gamemodes/events/holidays !

NOTE: This is intended for easter eggs! Little trinkets and such to make these
days special. It IS NOT for spawning grief items and game-changing stuff. If you
REALLY want to add stuff like that, please speak to the project heads. If it's
used for spawning bullshit like poop or grief items I'll just remove my code.
Thanks.

Happy Friday 13th :)

Other Fixes:
Oxygen tanks no longer spam BEEPBEEPBEEPBEEP at everybody nearby. That only
happens for the person holding them.
Revision: r3450
Author: 	 elly1...@rocketmail.com
Date: 	Apr 13, 2012
TG: -The biogenerator is now more robust. It can dispense fertilizer in batches, and
make simple leather items at a high cost.
-Watermelon and pumpkin biomass lowered a bit so biomass isn't totally trivial
to acquire.
-Added more wood items for tower cap wood construction: Wooden doors and
sandals.
-Added plump helmet biscuits and mushroom soup to kitchen recipes.
Revision: r3454
Author: 	 d_h2...@yahoo.com
Date: 	Apr 13, 2012
TG: Added cult structure icons by Ausops/Utilitas and objects for them which are
(for now) purely decorative.
Revision: r3455
Author: 	 kortgstation
TG: Reverting the ID changes, no more gold IDs for everyone.
I'll try and get the silver IDs in properly, but I don't have time to work it
out atm.
Revision: r3457
Author: 	 petethegoat
TG: - Made the gold, silver, regular id cards a job datum variable.
Revision: r3471
Author: 	 baloh.matev