If you had Ian with a pet collar name like spot, and you gave him say a wizard name, then he would deafault to his real_name over his name, and making it impossible to restore the name on the collar.
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.
Fixes a runtime preventing Diona Nymphs from eating weeds and regaining
nutrition
Fixes fruit attacks checking for "hurt" when they should check for
"harm".
- You can now smack people with fruit on harm intent. If the plant has
TRAIT_STINGS, it will inject them with it's chemicals
- You can now crush a fruit in your hand on harm intent to destroy it
(will not leave trash like banana peels!). This will trigger the same
effects that throwing the fruit would have, except without needing to
throw it.
- Use this to activate that smoke-screen tobacco you spent all round
mutating, or to make a quick escape with your bluespace tomato!
Turns out timed alerts, which are ONLY used by Make Wizard, were broken
ever since they were added... 11 months ago. Now they work, so Make
Wizard works.