Mentors can already see a list of all players by account age. This
includes antags with obvious names, like "Donk Co. Operative #1".
This PR changes the permissions on the playtime report (the one which
shows how much playtime everyone has) so mentors can see that, too.
The idea being that this enables mentors to distinguish between "X has
an old account" and "X has a lot of experience on paradise". Currently,
mentors cannot distinguish the two.
Also, consistency. If mentors can see players' account registration age,
they should also be able to see players' playtime experience.
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)