Makes reinforced glass a subtype of glass, cleans up window creation copypasta.
Cleaned up window initialization leaking outside of the window constructor.
Removes unnecessary init_dir var from windows.
This includes labcoats, IA jackets, first responder jackets, and the brown leather jackets.
This way, code for button toggling doesn't have to be duplicated for labcoats and other coats, and it's easier to add other types of coats that can be buttoned up if someone wants.
Removes the 2-tick sleep cause by every closet in New().
Moves the code that sucks up items into closets to initialize() to avoid processing still null objects.
Bartenders, chefs, and janitors now have their own service frequency and corresponding headset.
The HoP is listening to this channel by default.
Creates a proper locker for the chef's extra gear.
Enables dismantling of a window (100% return) with a wrench, if the
window is fully unsecured. Windows which cannot be dismantled will
return a message saying so for clarity. Dismantling displays a visible
message for clarity.
Continues the wiring upgrade. Now cameras, airlocks, robots, and air alarms also use the new wire datum system.
Global wiring code is now removed but there are sneaky objects which didn't rely on them such as mulebots and autolathes.
Fixes a few issues from the previous upgrade.
Hoverpods are a subtype of mecha/working again, but drills are now
ripley specific. Hoverpods have increased cargo and can carry 3 tools.
Hoverpod crates now come with a clamp and passenger compartment
pre-installed.
Brings back the combatpod, can equip weapons.
Windows and doors will display messages indicating extant of damage as they are damaged (e.g. "Cracks begin to appear in [src]!")
Metal rods can substitute for crowbars to force unpowered and broken doors, as well as firelocks.
Window damage code cleaned up and centralized.
not a full fix, there's too many small cases where OPENCONTAINER
isn't checked, but this is everything in the report
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Distinct actions that indefinitely change a mob's pixel_y or pixel_x, like strapping someone to a roller bed, should also alter new variables old_y or old_x accordingly. This means that floating and jittering animations no longer interfere, as the animations use old_x/old_y as the "base" position.
Entering areas with gravity from areas without grabity now removes floating effect.