Refactored most instances of special_role setting/checking to use new
SPECIAL_ROLE_X defines in code/__DEFINES/gamemode.dm
Removed relative pathing from objective.dm and split large if statements
into multiple, plus a bunch of styling fixes
Refactored every instance of `istype(ticker.mode` into a GAMEMODE_IS_X
define in code/__DEFINES/gamemode.dm. Done primarily for when someone gets
around to making gamemode code less AWFUL
- Respawning as a drone now ignores respawnability again
- Respawning as ERT now ignores respawnability again, but respawnable
ghosts get first dibs
- Becoming a non-respawnable ghost once means all future ghosting will
be be non-respawnable, unless you are sent back to the lobby
- Posibrains now disqualify non-respawnable ghosts, and are more fickle
about pinging
- Added custom messages to EvilFaxes, for extra schadenfreude
- Fax body for Templates changed to more unique versions
🆑
tweak: Added custom messages for evil faxes
tweat: Added unique text body for each non-evil fax template
/🆑
- Admins can now choose the name of evil fax papers. If not chosen,
defaults to: "Central Command - paper".
- Changes processing_objects addition/removal to the methods Fox
suggested.
- Changed if (countdown == 0) to if (!countdown)
- Rebalances firedeath fax to live up to its name, and always cause
recipient to die in a fire.
* Adds Error Handler
Adds a /world/Error proc to handle runtime errors. This proc replaces
the normal runtime logging behavior, providing the following
improvements:
- Adds timestamps to runtimes
- Pads or omits certain lines
- Continues logging runtimes after the 99th (with less info, as provided
by BYOND)
- Adds ckey and accurate xyz to usr info
- Continues including usr info after 19th runtime
- Silences spammy runtimes (by default, a runtime that occurs 10 times
in 10 minutes gets ignored for the next 10 minutes)
* Adds runtime viewer
Also fixes a minor mistake in the error handler
* Sanitizes HTML in Error Viewer
Also removes the stray return from the end of the error handler
* Prettifies Error Viewer
Now uses browser datum and some extra bits of formatting, inspired by
the changes made by @PJB3005
* Error Handling Improvements
- Skipped error counts now show up in the error viewer
- Proper runtimes caught by a process are now sent to the main error
handler
- The error handler and viewer can now handle a provided src, such as
one from a processing runtime
- Moved some info generation into helper procs
- Prayers no longer trigger the ahelp sound for admins.
- Explosive fax replaced with firedeath fax.
- Memetic kill agent fax replaced with braindeath fax. Effects are
identical, they just have different names/messaging.
- Evil faxes self-destructing after use now produce a more obvious
message.
- 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.