Clients now cache their jobbans to save on DB queries.
Legacy jobbans and "new" (savefile) jobbans have been removed.
These are old cruft that has been unused for years, and since we require
a DB for notes anyway we might as well just get rid of the legacy stuff.
I considered removing legacy bans as well, but I was unsure if that
would go way beyond the scope of this PR (my main goal here is making
jobban_isbanned not awful).
Also note that this was basically untested, as I do not have a test
database. Any help testing this would be much appreciated.
Togglable by a verb in the Admin tab. Only Rev, Cult, Ops and Shadowling
atm because the others don't have huds/have more than one hud and I'm
too lazy to handle it properly here. Also adds a debug verb for huds.
Adds a config option for the map rotation chance.
Ups default rotation chance from 50% of round length to 75% of round length.
Moves the procs around.
Adds two new admin verbs:
Force map rotation.
Change map.
Reasoning for why it needs to go:
- NTSL allows anyone to lag the server or crash it.
- Doohl being gone, no one is going to maintain or expand NTSL. Very little has been done on it for several years now, certainly not any new functionality besides signalling.
- The only interesting things that can be done with NTSL have already been done and are on the wiki. Which is what 99% of users do, copy a script off the wiki. Not interesting or fun.
- Users who actually do scripting are too limited to actually do much besides little chat scripts that are amusing for maybe 2 minutes before becoming annoying.
Fixes#11647Fixes#10595Fixes#10445
Technically fixes#10032Fixes#5779
Technically fixes#4710Fixes#1974
The current code for runes is god-awful. Like, seriously terrible. This PR aims to fix that. Rather than having every rune effect defined in a single attack_hand proc, this PR will separate the runes into subtypes, which supports for more modular runes as well as cleans up the code.
It also separates invocation into a two different procs. The first of these will determine if the rune can be invoked; if that passes, the second will cause the rune's effects. There is also a third proc that will cause effects if the rune fails to invoke.
Research words have been removed, and all runes are now available from the start of the round. This is highly subject to change once some feedback is in from actual cult rounds.
Miscellaneous tweaks:
Blood boil runes now explode when used
Convert runes can now work solo, but take time
Armor runes now only provide the basic armor set
Tomes now do a static 15 burn damage and play a sound
If the Escape objective is rolled, the amount of people that must escape will scale with the round population to a factor of 5 (i.e. 50 players = 10 cultists)
This requires a 508 beta version to use. If Travis fails this he's a bitch
Exceptions will generate a stack trace, which is way easier to see and more helpful in actually solving this kind of crap. Also logs all the arguments, src, line, and file automatically.
Removed any dubiously helpful information in the exception names so the runtime condenser won't see each one as a different runtime. If the information is critical to solve these bugs (camera one maybe?), then I'll just make these warnings.
Thrown exceptions crash the currently running proc. Yes that means there's useless returns in a bunch of these, sue me. spawn()'s are to let the proc continue.
Almost all of these are difficult to trigger, but I did test playsound. And frankly even if they do cause bugs by crashing procs, big whoop
Removes the 20 second confirmation between prompts for the normal admin version of end round now.
If admins force end a round escape objectives will be good faith greentexted if the antagonists were still in a position to escape alive.
The survival rate will always be printed at round end now, even if the shuttle makes it to centcom (evac rate will be printed too in that case).
Fixed give spell window hiding most important part of the spell types
Added call proc to varedit so all things you can open in varedit you can
also call procs on
- Patch: Don't update html_interface clients that have been inactive for more than 10 minutes.
- Patch: Attempt to speed up _renderContent some more (in case of multiple clients) by using spawn.
- Patch: Second argument for hiIsValidClient hook: reference to the current html_interface object (used by crew monitoring computer).
- Feature: procqueue singleton. You can use this to put proc executions on a queue. Used by the crew monitoring computer to queue the update "for the next tick" when humans move.
Fixes#1121
Adds a new associative list, stealthminID, they will be associated with raw ckey text and their contents will be a random ID. The random ID is generated when an admin goes to stealth, without repeating itself.
New client procs that will handle the list, findStealthKey() and createStealthKey()
Admin-pms will use this special ID for admins who are stealthing, hiding their real ckey.