Not having prefer-const on the JS side makes JS -> TS refactors really
unreadable. This commit just auto-fixes it so we're using
`prefer-const` everywhere.
Custom room rank symbols will now override all other ranks in the
userlist.
Their permissions now also fall back to global permissions.
(Also fix an obscure crash with custom rank symbols.)
Previously, if you gave e.g. roomvoice to a global moderator, that
would demote their room rank to voice. Now, they will remain a
moderator, with "voice" only appearing in `/roomauth` and `/auth`.
(Includes a refactor of Config.groups)
* Attribute non-host mod commands
* Fix crash in queue
* Add command for listing all data entries
* Update permissions in help box
credits to @Claire238
We previously only reported the first line of the stack trace, but now that .readmore exists, showing
the full stack trace isn't too spammy anymore.
Also, private logs are now put into Upper Staff.
Pokemon that are not available in-game are now consolidated into `isNonstandard`. 'Past' indicates that the Pokemon no longer works in the current generation. 'Unobtainable' indicates that the Pokemon works but can only be obtained through hacking.
If /hidetext is used with a linecount parameter on a trusted user, it currently says "USER, 4 is a trusted user, are you sure you want to hide their messages? Use /forcehidetext if you're sure." This change hides the additional linecount parameter from the message.
- apply them as "formats"/"mods" instead of a large parent game with another room game nested inside
- the parent game is attached to ``room.scavgame`` as an independent object instead.
- add a command to set the twist (/scav settwist) and reset the twist (/scav resettwist) for scripted formats
- this means that scavenger-games.js might be updated once per month as new twists are created.
- add a command to start a regular hunt with twists
More than one twist can be loaded into a single scavenger hunt (from scavenger game mode + /scav createtwist)