* Refactors Electrocution and Tesla Zapping---Improves Supermatter and Tesla
* forgot this one
* fixes and styling
* last tidbits hopefully
* machine frames
* use flags
* styling
* Handlers converted, now to fix 3532 compile errors
* 3532 compile fixes later, got runtimes on startup
* Well the server loads now atleast
* Take 2
* Oops
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
make environment_smash into bitflags
add obj_damage for simple animals
make default max_integrity and obj_integrity INFINITY for non-defined objects, until we can move more objects to obj_integrity/take_damage() system
adds examining objects to roughly check damage
more obj_defense.dm procs
tables can be attacked with items, glass tables have a narsie_act()
fixes, changes to make it compile
adds armor to many objects
re-adds the clockcult floor sprite (accidentally removed in another PR)
adds clockcult effects to the clockcult floor
adds clockcult grilles
adds var/broken to /obj/structure
adds unused resistance_flags var
moves burn_state and resistance_flags to flags.dm
more updates to attack code
updated obj_defense.dm procs
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()
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 commit overhauls a bunch of systems so that buckling works for
any subtype of /obj. This means that space vines and chairs and beds all
use the same system. A lot of stuff has been touched.
This commit does the following:
- Ports progress bars from -tg- (tgstation/-tg-station#9921)
- Refactors wall attackby code to make it 100% less insane; Instead of
manually checking every little thing, it uses do_after,
consequentially, making the new progress bars affect dealing with walls
as well.
Wall code makes a tiger sad.
This commit first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.
Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.
Emitter beams are now fully pooled.
Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.