Adds a fourth mob size "MOB_SIZE_TINY" to differentiate corgi size and mouse size. (used in bear trap code)
Rewrites beartrap/Crossed() to have less istype checks.
Adds a flying var to simple animals (used in bear trap code)
Makes pulling update in living/life.dm() to fix pulling not stopping when you're incapacitated.
Replaced numbered states with the GIRDER_stuff.
Fixed some grammar stuff.
Made reinforced girder deconstruction give the plasteel back when deconstructed.
Changes the glasses of what? to use an overlay with reagents color.
Adding a ricepack to the kitchen cabinet and the food crate.
Adding more bowl to the dinnerware vending machine.
Adding pumpkinjuice, blumpkingjuice, cherryshake, bluecherryshake pumpkin latte, drunken blumpkin reagents.
Current situation:
Wrench to girder (unsecured) -> secure girder
Wrench to girder (secured) -> disassemble girder
Crowbar to girder (secured) -> unsecure girder
This PR changes it to:
Wrench to girder (unsecured) -> secure girder (same as before)
Wrench to girder (secured) -> unsecure girder
Welder to girder (unsecured) -> disassemble girder
This is more consistent with nearly every other frame in the game, which have to be first unsecured with a wrench and then disassembled with a welder.
Repathing meat slab, meatsteaks and cutlets into meat/slab, meat/steak, meat/rawcutlet, meat/cutlet. Fixes issue with food naming when containing meat stuff, especially human meat.
Bowl filled with reagent now gets a nice half transparent overlay with the reagents colors (like beaker)
Mousedroping a snack that's on a table now opens the tablecrafting window.
Fixes not being to store items in plain bread, plain cake and cheesewheel.
Fixes alien nest buckling pixel offset.
Removes resist unbuckling 'success' message so there's not two unbuckling messages.
Fixes objects with buckling not unbuckling its buckled mob when the mob is gibbed (Fixes alien nest overlay not disappearing when larva burst and gib its host).
The piano will stop playing once you walk away from it or get stunned.
The song BPM of the piano and violin will generally speaking be wrong because of discrepancies between the sleep between notes and world.tick_lag. I've solved this by locking BPM to points where the stated BPM will actually be the case because tempo == world.tick_lag.
Example
Current:
song @ 5 tempo - 120 BPM: c, c/2, c -> note -> sleep(5) -> 6 ticks (5.4 time passes) -> note -> sleep(2.5) -> 3 ticks (2.7 time passes) -> note.
With this PR:
song @ 5.4 tempo - 111 BPM: c, c/2, c -> note -> sleep(5.4) -> 6 ticks (5.4 time passes) -> note/2 -> sleep(2.7) -> 3 ticks (2.7 time passes) -> note.
I was hoping this would make the damn things sound better but then I realized it wasn't actually messing anything up. Oh well.