A few uses of `array.sort()` have been left alone:
- sorting in `data/` because they aren't supposed to import anything
- `set-importer` because I still have no clue what that's for and what
dependencies it is/isn't allowed to have
- `sort()` with no arguments used as a lexical sort (at which point
`sortBy` offers no benefits)
All other cases have been replaced with `Utils.sortBy`, which should
be a massive increase in readability.
Sort orders should be much more readable now, without needing to puzzle
through sign issues. The order is always low-to-high, A-to-Z,
true-to-false.
* Plurality shift is now shown upon hammer.
* Removes night responses drop down option.
* Adds error reply if user tries to use an argument with /mafia action.
* Lists cohosts on the mafia page.
* Playerlists are alphabetized.
* Declares when closed setup is turned on.
* /mafia kill kills multiple users separated by commas.
* Changes for checks
* Add gamebans/refactor hostbans to use Punishments
* Small fixes
* Change for checks
* Suggestions
* Updates for checks
* Make takeidles default and change game name to Mafia
* Update mafia.ts
* Use this.room
* Allows players that subbed out or stopped cohosting to be forceadded into the game.
* Upon subbing, players' pages update after the subbed player is removed from the playertable.
* Allows /mafia dt for ideas
* Shift plurality to the subbed in player.
* Fix clear button
* Adds spaces between roles in role list.
* Syntax fixes
* Add info to /mafia dt <idea>
Co-authored-by: Student <Student@MacBook-Air-5.hsd1.il.comcast.net>
* Lint arrow-body-style
* Lint prefer-object-spread
Object spread is faster _and_ more readable.
This also fixes a few unnecessary object clones.
* Enable no-parameter-properties
This isn't currently used, but this makes clear that it shouldn't be.
* Refactor more Promises to async/await
* Remove unnecessary code from getDataMoveHTML etc
* Lint prefer-string-starts-ends-with
* Stop using no-undef
According to the typescript-eslint FAQ, this is redundant with
TypeScript, and they're not wrong. This will save us from needing to
specify globals in two different places which will be nice.
onChatMessage previously took `string | false`, where `false` means
"let the message through". This is a reversal of what `false` usually
means, so this is now updated to `string | void`, which should be
much clearer.