Start of porting the /tg/station mecha update.
This commit only cleans up the code and adds the proper dependencies for
the mecha.
- Removes relative pathing from /datum/events
- Updated Process_Spacemove() to use
atom/movable/proc/get_spacemove_backup()
- Basically just makes launching off of unanchored objects in space an
OOP behaviour
- Removed styling atrocities and relative pathing from most of the mecha files.
- Notable exceptions:
- code/game/mecha/mech_bay.dm
- code/game/mecha/mech_fabricator.dm
- code/game/mecha/mecha_construction_paths.dm
- code/game/mecha/mecha_parts.dm
- code/game/mecha/mecha_wreckage.dm
- code/game/mecha/paintkits.dm
- Removed dyndomove/dyndoattackby/dyndobulletact. No more icky dynamic
calls. Replaced by specific code for the 3 modules that used it.
- Refactored module cooldown. It now uses addtimer, and power usage is
hooked directly into the cooldown calls.
- Added atom/movable/proc/has_buckled_mobs(). Currently not that useful,
but, necessary for porting the multi-buckling system from /tg/.
- Split code/game/mecha/equipment/tools/tools.dm into multiple files.
- Removed snowflake behaviour from exosuit drill. It now calls
turf.drill_act(src).
- Different from /tg/: Allows you to drill any wall/floor normally.
- Drill no longer gibs mobs. It deals 80 organ damage instead.
- Drill can be used to harvest dead mobs.
- Removed all global_iterator systems from mecha and mecha equipment.
Everything now uses object processing.
- Mecha now have a turn sound variable and step sound variable. Updated
all subtypes to use these instead of snowflake domove procs.
- Removed mecha_do_after, mecha now uses the normal do_after.
- Removed enter_after, same as above.
- /obj/mecha/Process_Spacemove no longer strangely calls the user's
spacemove.
- /obj/mecha/return_pressure now uses return_air instead of copypasted
cabin air detection.
- Same for /obj/mecha/return_temperature
- Added /obj/mecha/Exited. Basically, properly clears occupant refs,
even if they teleport out/otherwise exit improperly.
- Added hooks for mecha action buttons; Didn't implement them yet.
- Moved mecha UI to code/game/mecha/mecha_topic.dm
- Fixed turfs not updating atmos when ChangeTurf(/turf/space) is used.
- Updated visible_message and audible_message. Both now use
get_mobs_in_view() to ensure that mobs inside containers can see
messages.
- Removed /obj/item/mecha_parts/mecha_equipment/tool subtype. It had no
use. Any subtypes are now just subtypes of
/obj/item/mecha_parts/mecha_equipment.
- Cryo auto-ghosting and ghosting after suicide will now produce
non-respawnable ghosts
- Non-respawnable ghosts are now prevented from re-entering the round by
as many means as I could find
- Refactors action button backend
- Action buttons are no longer checked on Life(), items are responsible
for adding/removing/updating them.
- Item action buttons are no longer a static action_button_name define,
items define actions_types, which is a list of paths.
- Items can now have multiple action buttons.
- This is handled by new arguments to ui_action_click, the first
parameter is the user, the second is the path of the action datum
that was invoked.
- Refactored how internals function
- You may now directly switch internals without breaking anything.
- The internals icon has been updated to be more consistent.
- Added action buttons for jetpacks
- Added action buttons for oxygen tanks
- Uses-based implants now qdel() themselves when they run out of uses.
This is somewhat a buff to traitor implants, but it's such a minor
change. The actual reasoning is so that the action buttons are properly
removed.
- Fixed a bug with the "Boo" spell which resulted in IsAvailable failing
for certain ghosts.
- You can now shift-click on movable HUD elements to reset them to the
proper position (thank fucking christ)
Deep fryers can now be built and upgraded with some minor assistance
from science.
- Board requires programming 2, just like the microwave and such
- 2 micro lasers + 5 cables
- Upgrading the lasers decreases the cook time
🆑
rscadd: Deepfryers are no longer arcane mysteries, and can be
(de)constructed and upgraded.
/🆑
Also adds hiding tails by-species. Updates captain space-suit helmet hair-hiding code.
Fixes a bug where Reactive Armour's sprite wouldn't update when you turned it on or off.
Adds species-fitting for clothing accessories.
Adds the ability to open and close the Clown Officer and Soldier coats.
Adds Vox sprites for the following suits and accessories:
Unathi robe, unathi mantle, all ERT armour (not the spacesuits), armour vest, reflective armour vest,
Security armour vest, bulletproof armour vest, Detective armour vest, blueshield armour vest, combat armour vest,
laser tag vests, ian shirt, suspenders, waistcoat, vest, first responder jacket, bomber jacket, security bomber jacket,
black suit jacket, blue suit jacket, purple suit jacket, IAA jacket, NT Rep jacket, forensics jackets, overalls,
captain's carapace, Blueshield coat, trenchcoats, pirate and old pirate coats, HoS coat, HoS trenchcoat, Warden's jackets,
leather jacket, all military jackets, all ponchos, hazard vest, brigphys vest, reactive armour, riot/swat armour,
heavy armour, thunderdome armour, all knight armour, all bombsuits, regular and atmos firesuits, all biosuits, webbing,
clown officer coat, clown soldier coat.
* bicon regex run
* Remove all \black
* Goonchat from /vg/ / Goon
Whoo!
Special thanks to @Tastyfish for the macro2html thing so all of our
horrible color macros keep working and don't fail horribly <3
* Fixes and changes n stuff
- Made ping sane again (the fuck PJ)
- Updated chat CSS
- Fixed like one problem with a color macro
* whoops
* Restore /vg/'s pingloop stuff (used to avoid fucking up is_afk)
* Strip problematic tags from tcomm scripts
- <audio>
- <video>
- <iframe>
- <script>
* Fix human examine icon
* Name hotkey elements
* Removed old stylesheet
Decided to scrap the beekeeping HUD for now. Turned out it's way more complicated that I thought. I'll try it again in the future.
Added the Hydro HUD design for Protolathe. Need to test if it works.
Might have made a mistake in Git so commiting in order to pull from Paradise master to see if anything broke.