After seeing fifty different ways we use `getLearnset`, most of which
are just "haphazardly assemble a movepool", I decided to write
`getFullLearnset` and `getMovePool`, which centralizes the
implementations and prevents weird bugs like 9713dc6db5 which
we spent two years trying to figure out.
This import caused room-battle to get deallocated and re-imported on every hotpatch, thus ensuring a new StreamProcessManager (with four child processes) was created each time we hotpatched. I hate this.
This isn't strictly permanent, but that's the command staff asked for and it was agreed 1010 years would work instead of trying to make it truly permanent.
This does 2 things:
* allows command permissions to be set to the default user group, granting the permission to all users
* lets rooms set permissions for broadcasting on a per-command basis by using `!` as the prefix for a command with no other permissions requirements
This is intended to let Tech & Code room let regular users broadcast `!code`, but potentially has other applications.
Closes#9534
* /requestshow: Allow using comma in comments
Also refactored #9541, comment should be trimed and stored to variable, not just checking
* Merge requested changes
The '/' is added in the permissions checker (when it checks against room.settings.permissions). Providing /show as a parameter means it checks perms for //show.
In the light of the YouTube API requiring that only one player is onscreen at a time, this will make it less inconvenient to use /show. If it's broadcasted, it'll post a button that, when clicked, will show the video, instead of just outright posting a player that could potentially destroy another currently onscreen. Effectively, it makes it up to the end user.
* Moderation: Correct /force notice for weeklocks
* o o p s
* Update server/chat-commands/moderation.ts
Co-authored-by: Annika <56906084+AnnikaCodes@users.noreply.github.com>
* missed one
---------
Co-authored-by: Annika <56906084+AnnikaCodes@users.noreply.github.com>