This code was just a big fucking mess. Happy motherfucking 2015.
* Delay procs and variables replaced with a standardized delayer framework.
* Cleaned up the absolutely fucking atrocious fix_next_move() diagnostic verb.
* Added the ability to adjust minimum and maximum delay clamps per-mob for adminbus purposes and future features.
* USECASE: Fat people cannot attack as fast (not implemented)
Tested somewhat by smacking a window with a crowbar. Movespeeds also don't seem insane, either.
* Adds "atmos" subject to Investigate.
* Massive overhaul of Investigate, making it more modular.
* Also replaced investigate_log with investigation_log, with swapped arguments (which makes more sense).
PDA device analysers now work as expected.
Groundwork for fabricators ignoring design requirements, which general fabricators now do for chems.
Item designs based on existing designs now properly generate a plastic requirement.
Sped up the flatpacker a little to balance its costs.
System now in place for machines having access requirements. Not yet used.
CE given special device analyzer in his locker.
Autolathes will now not eat the scanner and can be scanned by it.
Fuel now burns, even without an auto-ignition temperature, which was a silly way of doing things.
Mobs no longer ashify since their proc is changed.
Flamethrowers now spread more fuel and burn more consistently for it.
Atoms now have volatility, so they can burn more if they have less fuel.
```yaml
changes:
- tweak: "Device Analyzers can no longer scan some items. Other items can only be scanned with the traitor variant of the scanner."
- tweak: "Flatpacks take 10-20 seconds to open."
- bugfix: "Flatpacks hit multiple times by a crowbar will only open once."
```
Added the state var to all machines. 0 is unanchored, 1 is anchored, 2 is welded.
Added the WELD_FIXED flag for machines that can be welded down.
Added the weldToFloor proc, which is used to toggle welding down for machines.
Fixed machines not using general procs.
Fixed some relative pathing.
* mob.client.prefs.be_special & BE_* replaced with mob.client.desires_role(ROLE_*)
* Added several new ROLEs for handling blob, borer, etc.
* SQLite table added for client_roles.
* New dialog added for handling special role preferences in-game.
* Added /datum/browser/clean for a cleaner UI.
Needs more testing, but the basics work.