Specifically, randomized formats will now support Max Team Size, Min Source Gen, Adjust Level, Adjust Level Down, and Force Monotype.
This fixes the issue with randomly-generated Multi Battle teams containing six Pokémon, instead of three as desired.
In format events:
`onFieldTeamPreview` has been renamed back to `onTeamPreview`. It's now
a custom event (like `onBegin`), rather than a field event.
Team Preview data has been entirely moved from `onBegin` into
`onTeamPreview`.
`onFieldStart` for formats/rules now happens after Team Preview, rather
than before. Use `onBegin` for things that happen before Team Preview.
`teamLength`, `maxLevel`, `cupLevelLimit`, and `minSourceGen` no longer
exist as properties of `Format`. Instead, they're value rules that
become properties of `RuleTable`, and can be specified as custom rules
and inherited through rulesets like anything else.
See the PR for a full reckoning of changes:
https://github.com/smogon/pokemon-showdown/pull/8267
Reverts #8250, but will keep gluttony test file and add more tests to it. This is being done because indirect sources of damages are not causing gluttony to trigger (such as belly drum).
`maxTeamSize` is a bad variable name (not that `teamLength.battle` is
any better, but that'll get fixed in a future refactor).
- Rename `maxTeamSize` to `chosenTeamSize`, to better indicate that
this is the size after Team Preview, and that it is also the minimum
size after Team Preview.
- Don't limit team sizes to 6 if `teamLength.battle` isn't specified.
This removes an unnecessary `teamLength.battle` requirement in all
Custom Game formats.
- Stop requiring `maxTeamSize` as a parameter for `battle.getRequests`.
It's not even used except as a hint to the Preact client, and was
never state in the first place.
- Stop supporting partial `side.chooseTeam`. This is an unused feature
and removing it massively simplifies the code and fixes a bug in
`cupLevelLimit` which definitely was not written with the
understanding that `chooseTeam` could be partial.
- Fix a bug in #7929 which seemed to misunderstand what `teamsize` was
for.
* Inverse: Update Banlist
* [23:08] in the hills: sorry to bother but can u also add cinderace to the Sketchmons banlist, it was missed in the last update
* Update formats.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>