* Checks list length after input() returns so you can't cheese it.
* Sanitizes list to proper length so existing characters over the limit will be fixed.
* Tries to Please Travis
Should remove all active edge problems.
Moves map-specific unit tests to the map define file.
Enhances some PoIs in terms of adding /ignore_mapgen to the ground.
Fixes incorrect loot pile in one PoI.
* Conflicts are fun.
* Might fix unit test.
-Okay so. The dismemberment related crashing has decreased in the mob icon cache related cases, but another circumstance has been revealed pointing towards the severed limbs themselves.
-(Someone got splattered yesterday downstream and nuked half server into chain crashing)
-Anyhow. I personally had completely forgotten to update my client last year from an awfully outdated pre-PIXEL_SCALING version, but I happened to do it way after people began crashing and cannot remember encountering a single crash from the before time.
-Which led to a theory that our poor little Byond simply has trouble adjusting to fresh features and occasionally gets overwhelmed by the task of tossing around a bunch of severed limbs inheriting their owner's visual properties while also having to randomly rotate each one.
-This thing just disables pixel scaling from severed limbs upon dismemberment.
-Because of the evil nature of the bug unpredictably manifesting in action and often leaves some witnesses un-crashed, I have no proof if this helps anything but I'll just toss it up and see if it sticks.
Axes executing a cleaving attack now has a visual effect to show the tiles that can potentially get hit.
Gives hatchets and the energy axe the ability to cleave.
Changes the world var from 0 to 7, as it is what /tg/ uses and it might help reduce the amount of data one needs to download when connecting. Not sure if it will but it can't hurt.
* MouseDrop()'s over_object may be null if dropping over a stat panel or over other empty space. Fix runtimes from assuming it is not null.
* Fixes Runtime in clothing_accessories.dm,54: Cannot read null.name
* Fixes Runtime in evidencebag.dm,21: Cannot read null.loc
* This is PHASE 1 of a multi-phase conversion. In this first phase we implement the subsystem, but leave it processing the existing global list variables. In the next phase we will switch to use datum variables in the subsystem. The main reason for splitting into two phases is ease of code review; change the meaningful code without the hundreds of machines -> SSmachines.machinery substitutions.
* We did declare macros for adding/removing things to the processing lists, and convert everywhere to use the macros.
* Added var/is_processing to /datum to keep track of whether an instance is already in a processing list (prevents it being in the list twice!) and also debugging, making sure its not in two lists etc.
* NOTE: The global machines list is **no longer sorted** for performance reasons. As far as I know, the only module that actually ever cared was cameras. Our camera system already handles its own sorting in the cameranets anyway, so it should no longer be needed.