For historical reasons, move property definitions have been very blurry
across `EffectData`. Fortunately, recent refactors have made it
possible to put them all where they're supposed to be.
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.
* Attribute non-host mod commands
* Fix crash in queue
* Add command for listing all data entries
* Update permissions in help box
credits to @Claire238
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.
- 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)
- global auth should now be able to see chat logs of rooms they can't
moderate
- secret and personal rooms that a staff member is either currently in,
or has auth in, will now show up in the main logs list (although
you should just use /chatlog, it's much easier)
`user.can` and `user.authAtLeast` now take `Room | BasicChatRoom`
instead of `BasicChatRoom`. It's now significantly less necessary to
cast things to `BasicChatRoom`.