* Combat Mechs Can Punch More Things
Removes the var to check for the 5 things it can attack, instead it can punch anything (but not everything will take damage).
Gives punching objects a check so you don't accidently smash something without meaning to.
Gives closets and canisters a proc to take_damage so they'll actually get smashed by the mechs.
* Take_Damage Boogaloo
* More take_damage Stuff
Adds click delay on attacking barriers.
Proper noises when attacking material doors and barricades.
More stuff can be broken by mech punch and simple mobs.
* Adds changelong
* usr to user
Adds toolspeed var, which is a multiplier on how 'fast' the tool works. 0.5 means it goes twice as fast.
Adds usesound var, which determines what sound is used when a tool is being used.
Changes a lot of code to use those two vars instead.
Adds 'ayyy' tools, which are ported from /tg/'s abductor gamemode. They're currently admin only but I might make them obtainable by xenoarch later.
Adds powertools, also from /tg/. CE starts with them in a new toolbelt that spawns in their locker, ported from (you guessed it) /tg/.
Changes welder sprites to look nicer, ported yet again from /tg/. Modified the blue welder slightly so it can be the electric welder sprite.
Adds various sounds from /tg/, for tools and welders.
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.
Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it. This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files. In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.
The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.
* Fixes reinforced Walls construction
when having one sheet left in the stack
* Amends Windoors
- Assemblies are now made with two sheets of either normal or reinforced
glass sheets, for normal and secure windoors respecting.
- Assemblies can now be named with a pen, just like airlocks.
- Windoor assemblies now get placed like windows, and windows take
windoor assemblies into account when placed.
- Decapitalises windoor assembly names.
- Shattering windoors will make them drop exactly what they were made of
now.
- Prying emagged windoors will no longer make them shatter on top of
returning to an assembly.
- Cleans up a lot of code and gets its own update_icon() proc.
* Amends airlocks
- Fixes airlocks occasionally not updating their icon correctly.
- Fixes airlocks causing sparks on spawn as if they were damaged.
- Fixes airlock not being anchored after being turned into an assembly.
- Decapitalises airlock names.
* Windows that get unanchored by force will now correctly have the rotate verb.
* Adds changelog entry
Lowers amount needed for building a reinforced wall from a girder from
four to two sheets.
Gets rid of rod products from dismantling a reinforced wall.
Adds one more extra step for undoing the deconstruction.
Remains of player blob axed.
blob_act() axed. Blob now has an arbitary set of things it can attack.
It will flow over everything else. Blob has an awful tendency to destroy
non-craftables.
Will test more tomorrow.
Blob will now attack mechs.
Fixes#8106.
Fixes#10705.