This commit adjusts the speech parsing system to allow for an infinite
number of languages to be present in the same message. You can
transition freely between any language you are able to speak simply by
putting it's language key in the middle of the sentence.
Honestly, this was a massive pain in the ass, and there's probably still
broken stuff, even though I've spent around 8 hours testing and refining
this.
mid-refactor of `take_overall_damage`
Fully refactors the (?:take|heal)_(?:overall|organ)_damage procs
Allows the dead to examine
Removes the `blinded` var
Refactor cyborg components so vision loss is instant
Robot life/death updates instantly
Adds instant updates for damage overlays and HUD icons for humans
Final reconciliation with the species refactor
Adds a stat debugging system and debugging logs
Also fixes instant death on species change
"Debugging logs" are used for stuff an admin wouldn't care about but
someone debugging would
I used it to fix people dying instantly when changing species due to
temporary deletion of the brain
Fox's requests
Adds a more careful updating system to our reagents system
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.
renames take_damage() for organs to receive_damage()
renames Deconstruct() to deconstruct() for atmos objects
obj_integrity, max_integrity, integrity_failure vars moved to /obj level, obj_integrity = max_integrity on New()
- 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)