mirror of
https://github.com/smogon/pokemon-showdown.git
synced 2026-04-25 15:40:31 -05:00
* Refactor validator This is a major refactor intended to make the default rules easier to understand, and also easier for OMs to bypass. Removed rules: - `Pokemon`: This is now `-Nonexistent`. Its previous name was intended to be interpreted as "simulate the Pokémon games exactly, and only allow what they allow". The new name should make it clearer that it mainly bans CAPs and other nonexistent Pokémon and functionality. - `-Illegal`: This is now `Obtainable` (see below). - `Allow CAP`: This is now `+CAP`. Instead of having a hardcoded rule, OMs can now be manually whitelist any pokemon/item/etc or group of them, overriding `-Nonexistent`. - `Ignore Illegal Abilities`: This is now `!Obtainable Abilities` (see below). `Obtainable` was previously `-Illegal`, and does the same thing: Makes sure you have a regular Pokémon game with only Pokémon that can be obtained without hacking. But instead of being a ban, it's now a rule that does nothing by itself, except contain more rules: - `Obtainable Moves` - `Obtainable Abilities` - `Obtainable Formes` - `Obtainable Misc` - `-Nonexistent` - `-Unreleased` This allows OMs to piecemeal repeal and unban any of these individual rules, instead of the previous approach of unbanning them all and manually reimplementing every single validation you wanted to keep. * Refactor PokemonSources into a class This mostly just makes a lot of the weirder checks in the validator substantially more readable. This also renames `lsetData` to `setSources`, which should also help readability. * Validate Bottle Cap HP types Fixes an issue reported here: https://github.com/Zarel/Pokemon-Showdown/issues/5742#issuecomment-533850288 * Fix several move validation issues Fixes #5742 We have a new MoveSource type: R for Restricted. R moves work like level-up/tutor/TM moves, except you're limited to one R move. - Shedinja move stolen from Ninjask in Gen 3-4 are now R moves instead of event moves. This allows them to coexist with Nincada egg moves. - Necrozma-DW/DM now inherit moves/events from Necrozma (like Rotom, but with event validation). This allows them to be shiny. - Pokemon can now get egg moves from their own evolutions. This fixes some Tyrogue, Charmander, and Treecko sets mentioned in #5742 - Some more C moves were added, fixing some Hitmontop and Chatot sets mentioned in #5742 * Improve ability/move compatibility validator |
||
|---|---|---|
| .. | ||
| chat-plugins | ||
| static | ||
| tournaments | ||
| chat-commands.js | ||
| chat-formatter.ts | ||
| chat.ts | ||
| config-loader.ts | ||
| global.d.ts | ||
| globals.ts | ||
| index.js | ||
| ip-tools.ts | ||
| ladders-local.ts | ||
| ladders-remote.ts | ||
| ladders.ts | ||
| loginserver.ts | ||
| monitor.ts | ||
| punishments.ts | ||
| room-battle.ts | ||
| room-game.ts | ||
| roomlogs.ts | ||
| rooms.ts | ||
| sockets.js | ||
| team-validator-async.js | ||
| users.ts | ||
| verifier.ts | ||