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.
This commit ports the base system of LINDA from TG. This version of linda
is the original version, with none of -tg-'s fixes, rewrites, or other
such improvements attached.
The mob ignite system has been 100% removed, as LINDA does not support
this normally. It may be added back in when the improvements and refactors
to LINDA have been ported.
This commit first adds a new helper proc labeled isAntag(), as well as
adding a check for antags for every instance of msg_admin_attack().
Goals of this commit:
- Make admin ATTACK: logs indicate if attacker is an antagonist.
Note; High probability of merge conflicts, 47 files changed.
1) Fixes an exception which prevented singularity generators from
spawning a singularity if they had fingerprints on them
2) Fixes an exception which was called on machineryprocess on the
deleted singularity generator
NOTES
For some obscure reason, hidden fingerprint logging on machinery does
not create a list if there is only one entry. I couldn't find why, so I
wrote code to account for either a string or list for the singularity
generator ONLY.
- Adds use_log list logging to AI/borg alt + click door shocking.
- Adds use_log list logging to PA control computer (Turning on,
increasing power, decreasing power).
- Adds use_log list logging to robotics control computer (borg full
destruct and single borg destruct).
removed del() calls for objects, now it sets loc to null and removes it from master_controller processing
Much quicker :)
Conflicts:
code/modules/power/singularity/singularity.dm