Sorta port sorta not of tgstation/#7833.
Big thanks to Remie for the code permissions.
Lets you place stuff on tables, see the TG PR for an example.
Actual change: wrenches and welding tools can now be placed on tables. You can decon by clicking the table legs.
Come in three flavours: engineering, surgery, and Swiss Army Knife.
Switchtools can store multiple items and let you deploy one to use on shit.
Use a screwdriver to remove items and add new ones.
No way to obtain them currently.
Includes a new sound.
Adds strike-anywhere matches which can be struck anywhere (except mobs).
Edited chiselling a wall to use a do_after.
Edited click code so preattack overrides the other procs.
Made optables and racks use drop_item properly.
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.
After a fair amount of hair pulling, seeing how Dreammaker is unable to
use any function more complex than square roots and powers, I've used
the following formula
Damage = round(power^(1/3)*(rand(15,20)/10))
Changelog was also fixed and the snowflake exception for the power glove
was removed. If the grid contains dozens of DeLoreans, your target is
going to get it big time
- Power gloves cap is now at 1 million watts. Zing
- Shock damage formula is power/rand(4000, 6000) capped to 500, reached
in average at 2.5 million watts. Note to self : Nerf Supermatter Engine
which can still reach 3 million watts
- Sample shock damages : 50000 = 10, 100000 = 20, 500000 = 100. This is
a very simplistic damage calculation but it works
What was happening was returntopool was nulling the variable that prevented the projectile from bumping something twice, and for whatever reason despite having no loc the proj would bump the same mob twice then be in the void again. The spawn() allows the bump proc to finish and then the projectile is returned to the pool.