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
Destroyed entertainment monitors now have a sprite
Telescreens (and children of telescreens) no longer have their own
update_icon proc, instead using the existing obj/machinery/computer proc
Telescreens (and children of telescreens) now have an 'off' sprite
Moved the telescreen and entertainment sprites to
icons\obj\computer.dmi, where they belong
This commit changes how NanoUI's live data updating system works.
Previously, data for the template was directly gathered in the
ui_interact proc. Now, it is seperated into the proc `ui_data`.
To players, this does absolutely nothing.
To coders, this opens up the potential for a much more complicated and
fancy graphical updating system in the future, because the data is
available on-demand without ever having to call
nanomanager.try_update_ui.
Currently, to_chat is literally just a proc that does user << message.
But it'll let us do output modification in the future, especially for
something like Goon's HTML chat.
Big thanks to PJB for his to_chat script, see
https://github.com/d3athrow/vgstation13/pull/6625 for more details.
This should make it much easier to port abductors, if we ever want to do
that.
Changes:
- Fixed a bug where the AI could not delete photos it takes.
- Ported -tg- cameranets. This means that all of our camera based systems are more or less up to date with -tg-; 510 features are missing.
- An AI with the 'camera lights' mode on will now, instead of the button toggling the closest camera's light, toggle camera lights on/off as the AI moves.
- It now takes a minimum of 30 deciseconds between attempting to track someone, and locking on. This number is increased by their distance away from the AI eye.
- The camera activate/deactivate proc is now called 'toggle_cam'.
- The 'trackable' proc has been replaced by a more object-oriented 'mob.can_track()' proc.
- The 'networks' section of the security camera console is now above the camera list.
In laymans terms: This refactors how security cameras calculate what
viewers can see, and adds a few neat features on top.
This commit refactors light_color definitions for most machines and
consoles that use light_color's. Instead of having the same color repeated
over and over again, there are #defines for most of the common ones.
Some machines and other places may not use lighting defs- this is
intentional. The defines as they are, are relatively clean, and machinery
was where the bulk of repeated light definitions were. Other, special
colors, can just be defined in the same file that they are used once in.
This commit adds custom color definitions to almost every computer that
did not already have them. It also causes cigarretes to very dimly glow.
Also contains custom colors for candles, flashlights, and the mentioned
cigarretes.
Oh, and beepsky flashes red and blue now while in hunt mode. FTW