* Converts Eye Augments to Cybernetic Eyes
* literally not used
* it helps when you properly include all the code
* flashlight eyes
* tweaks
* conflict resolution
* can't have two eyes
* order of operations matters here
* autosurgeon
* Refactors Mutations
* traits
* more work
* styling fix
* yet even more work
* oh hush
* almost there
* it continues yet further
* and that's genetics done
* and that's it folks
* last bit and golem fixup
* oof
* oops
* tweaks and fixes
* styling
This converts the machine and mob processes to the SMC. Additionally, it
adds the Atom subsystem, which handles all Initialize() calls in place
of the old gameticker. Due to incompatibility with our atmospherics
(FUCK OUR ATMOSPHERICS FOR FUCKING EVER JESUS CHRIST WHO THE FUCK MADE
THIS PIECE OF GODDAMN SHIT) atmospherics machines do not use
Initialize() as they should, instead opting for a custom atmos_init
proc that the air controller handles.
This is a merged port from /tg/station and Virgo on logging standards.
The diary has been replaced with GLOB.world_game_log, diaryofmeanpeople
is gone (because it wasn't actually used) and a whole bunch of logging
procs have been changed to optimize Splunk.
- Updated the flashlight eye-shine check with the new get_dark_view()
helper proc
- Removed a useless check on the handle_dna() for monkeys
- Increases reliability of the monkeyize() proc and fixes issues where
calling it wouldn't turn a mob into a monkey on the spot.
- Increases readability/maintainability of the get_colourmatrix() and
get_dark_view() procs.
Allows eyes to track eye-dependent disabilities when removed from the mob.
Farwas and Wolpins are now incurably colourblind (non-genetics based), so going lesser-form and back won't wipe your colourblindness.
Eyes being straight-up deleted (as per how set_species() handles setting up the organs required for the species we're changing to) no longer wipes colourblindness.
Now with more helper procs, less unnecessary commenting, random changes and other cleanliness-related tweaks.
- 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)