This adds Message filters to Goonchat (only for mentors +
administrators).
There is a new option in the settings dropdown of Goonchat to access
these. They are temporary, non-destructive filters which will hide all
messages matching them that are already in your chat, as well as any new
messages matching them.
There are 5 filters currently:
- Admin; Filters out most admin logs.
- Combat; Filters out a limited subset of combat messages-
Specifically, any message with the 'combat' span class. Currently, this
has only been added to the central /attack and /attacked_by procs, so a
large considerable amount of hostile actions taken against a
player are still not going to be filtered out. We can work on adding
the identifier to more stuff later.
- Radios: Filters out all radio messages.
- Speech: Filters out all mob speech.
- OOC: Filters out OOC chat.
There is also an "All" option, which just turns off all messages that
are not internal to Goonchat.
Includes a refactor for gun turrets (merged into portable turrets), hostile simple_animal behaviour, spells (sounds have been added) and poi_list items.
- Replaced 'EXP' with "Playtime' in most admin-visible locations. The
system is still invisible to normal players.
- Changed the types of exp you can accumulate from 'all', 'eng', 'sup',
etc to more human-friendly names like 'Crew', 'Engineering', and
'Supply'.
- Eliminated some copy-paste.
- Added a new configuration option: use_exp_restrictions_heads_hours.
When enabled and set to a >0 value, it overrides all head/ai job
playtime requirements, instead substituting that number of hours.
- Hid XP info from mentors (Fox request)
- Commented the verb that lets normal players see their XP (Neca
request)
- Added logging for usage of admin XP verbs
- Deleted old commented code
- Formatted XP numbers in reports as "1h", "3h", "27h" etc rather than a
# of points/minutes.
Admins can toy around with converting a character to text, and
placing them back elsewhere, independent of the round.
It's got a kink, though: The text given to you directly needs to be
printed once to remove all the escapes - otherwise the thing will choke.
I'd like advice on resolving that
* 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
Highlander and Dodgeball will now view Vox as incompatible species and
convert them into humans to avoid issues with deleting their much-needed
internals
- Already did this for plasmamen
Adjusts team selection for Dodgeball to hopefully result in consistently
"balanced" teams (in terms of numbers)
- Rather than relying on a if(prob(50)) check, it now just switches back
and forth with each successful team addition
Adds a new admin panic button: "Del Singulo / Tesla"
- After a confirmation, deletes ALL singularities and tesla orbs across
all z-levels (except away missions and cent-comm), regardless of
containment
Not gonna changelog this since it's non-player stuff
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.
Wee! Readds Disease1, kills off disease2, and finally removes poop.dmi
(fucking piece of shit)
Needs WAY more testing, most of which I don't know how to do yet, because
I've never used this system. Fun!
Changes:
- Virus2 has been removed completely.
- Some symptoms have not been readded. Aka, none of them have been
readded, I just wanted to get this shit ported.
- Virology has been updated slightly to mirror -tg-'s boxstation, as the
virus2 machines are gone.
- Welcome back, disease1
- The centrifuge, vials, splicer, analyzer, growerthing, have all been
replaced by the PanD.E.M.I.C. 2220
- No symptoms have been completely removed; However, vision symptoms
have been disabled pending byond 510, and genetics symptoms have been
disabled until "when I figure out how to fix them".
- Advanced Mutation Toxin now uses a disease, which turns people from
species, to slime person, to slime. Slime people are instantly turned
to a slime.
- Diseased touch now give people appendicitis. Yes, they VANT YOUR...
appendix.
- Virology now has a fridge with the following in it:
- Antiviral Syringes
- 1 Rhinovirus culture
- 1 Flu culture
- 1 Bottle of Mutagen
- 1 Bottle of Plasma
- 1 Bottle of Synaptizine
- A few more things, which I can't remember and can't look at while writing
this commit. Sometimes, git hurts.
TODO:
- Test more shit and figure out how the PanD.E.M.I.C. works/is supposed to
work.
- Fix genetics symptoms.
- Give vampires a less shitty diseased touch.
- Add appendicitis event.
-
Basic Nano-module virus2 creator
Not feature complete, but good enough for basic use
Current features:
- Make and delete virus datums
- Randomized symptoms/effects on creation
- Change effects for each stage
- Change multiplier and chance for each stage
- Spread to someone random or a specific chosen person (ignores bio
protection)