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.
Panic bunker! Uses the power of the database to reject new ckeys that have never connected to the server(s) before.
Admins are exempt, even while deadmin'ed, but they are also unlikely to be new ckeys except in rare cases that involve vv fuckary.
New player notification is now configurable.
Adds a optional default disabled irc notification of a players first time connecting.