Also applies to photocopiers (which fax machines are a subtype of), and
replaces a bunch of thing.loc = src.loc and thing.loc = src with proper
forceMove calls
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.
- Support for corgifying, explosive, memetic, honktumor and demotion
faxes, all together
- Support for evil faxes activating on destruction or timeout (so they
can't be destroyed, or ignored)
- Modifications to fax machine to make faxes always trigger ahelp sound
for admins
- ERTs, prayers, nuke code, honk, and syndie requests do the same
- Added support for message templates in fax replies
- Modifies faxmachine.dm to add a "BP" option for admins when responding
to faxes.
- Modifies admin/topic.dm to ensure this BP option spawns a Borging
Paper at the fax machine the butt fax was sent from.
- Modified paper.dm to add a new type of paper, Borging Paper, which
will give its intended victim (and only them) borging nanomachines when
read. It doesn't work on anyone else and disintegrates after multiple
use attempts.
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.