Commit Graph

434 Commits

Author SHA1 Message Date
The Immortal
c34b41661c Venusaur/Blastoise learn Frenzy Plant/Hydro Cannon in Sw/Sh 2020-01-29 19:52:01 +04:00
HoeenHero
dc13b32ed8 Charizard can learn Blast Burn in Gen 8 2020-01-19 08:34:48 -05:00
Kris Johnson
54df4fb1ed Add Slowpoke-Galar (#6272) 2020-01-09 21:33:15 +04:00
The Immortal
9253a115b1 Learnsets: Remove duplicate 7V entries 2020-01-09 20:50:23 +04:00
The Immortal
d70af8e12a Update Slowpoke data 2020-01-09 20:43:58 +04:00
The Immortal
f493304819 Pichu learns Volt Tackle 2020-01-07 01:51:47 +04:00
The Immortal
755afc350d Update Zacian & Zamazenta learnsets
- Add Steel Beam
- Remove duplicate learnsets from crowned formes
2020-01-04 02:32:17 +04:00
Kris Johnson
e2a811aae2 CAP: Properly handle learnset updates (#6214) 2019-12-24 02:49:29 +04:00
Guangcong Luo
6a4b5db15d Allow Volt Tackle Pikachu
Pikachu gets Volt Tackle by a really weird method, which PS never
implemented. This never mattered until now because PS would just assume
you had an event Pikachu, but with no event Pikachus available in Gen 8,
PS has been rejecting valid Pikachu sets.

This change makes it too permissive, but that's a better stopgap than
being too restrictive.
2019-12-11 03:41:38 +09:00
Kris Johnson
89002124b3 Change inheritsLearnsetFrom to inheritsFrom and fix Necrozma-Ultra's inheritance (#6168) 2019-12-10 08:03:49 +04:00
420Blazeitt
7319f35ff1 Vice Grip -> Vise Grip in Learnsets (#6093) 2019-11-26 13:34:28 -05:00
Quinton Lee
c3426bd934 Learnsets: fix typo in Roselia's learnset 2019-11-19 20:49:58 -06:00
The Immortal
426c013cae Add Gmax events 2019-11-20 03:04:16 +04:00
Guangcong Luo
9c970035e5 Fix "visegrip" spelling
Fixes #6010
2019-11-20 09:39:04 +13:00
The Immortal
d86f84a470 Add tutor moves to SwSh starters 2019-11-18 16:13:12 +04:00
The Immortal
7f20f80c8c Add event Silvally 2019-11-18 16:08:39 +04:00
Kris Johnson
7c7d9d79a4 Remove Meowth-Gmax's learnset (#5993) 2019-11-18 18:23:12 +13:00
Kris Johnson
a19ad51a20 Fix one part of the build (#5945) 2019-11-16 00:08:28 +13:00
Ezaphs
1608c2387e Add Gen 8 learnsets, Max and G-Max moves (WIP) 2019-11-15 22:02:38 +13:00
Marty-D
42a1ebe396 Add Shiny Tapu Koko event 2019-10-19 22:15:19 -04:00
Marty-D
6030ca127d CAP: Nerf Equilibra
https://www.smogon.com/forums/posts/8253336/
2019-10-11 21:04:44 -04:00
Guangcong Luo
2adc80efe4
Improve egg validator (#5854)
Previously, we split gen 2-5 egg move validation into two phases,
`checkLearnset` where we searched for a valid father, and
`reconcileLearnset` where we made sure the father could learn the move
combination.

Egg move validation has now been completely moved out of these
functions and into `validateSource`, which calls `findEggMoveFathers`.

The new algorithm no longer requires `C` moves to be hardcoded into
`learnsets.js`, now doing a more thorough check validation for the
father's move combination. This should be slower than before, but
net performance should be massively improved due to two other
optimizations in this refactor:

- We no longer do any father-searching if the moveset can be obtained
  any other way - in particular, this means no more father validation
  in gen 6+ where all egg move combinations are legal anyway.

- We only check fully-evolved pokemon as fathers (because anything a
  prevo can learn, its evos can learn, too - yes, we remember to make
  exceptions for Salazzle, Combee, and future-gen evos)

In addition, `/learn` should now provide significantly better
information for egg move breeding, since it uses a more thorough check
instead of the validator's short-circuiting the moment it finds a valid
father.

This also improves some baby-only move validation, specifically fixing
the issue with Seismic Toss Charm Chansey.
2019-10-09 00:59:24 +11:00
Guangcong Luo
71498d451d
New validator (#5840)
* 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
2019-10-06 04:21:30 +11:00
Marty-D
ee7e9fb66a Learnsets: Update Vivillon forms 2019-10-03 22:17:57 -04:00
Lusamine
7c7083b493 Add shiny Solgaleo/Lunala events (#5843) 2019-10-03 20:47:38 -04:00
Lusamine
3d8b69f218 Add shiny Necrozma event (#5786) 2019-09-15 11:50:57 -04:00
fart
49416194db Add Celebrate Aerodactyl event (#5711) 2019-08-16 22:16:14 -04:00
Marty-D
89deb387fb Add CAP 25 prevos 2019-07-06 20:24:56 -04:00
Marty-D
c1dde231a9 CAP: Nerf Aurumoth 2019-06-25 10:23:06 -04:00
Marty-D
4e4d4725f9 Add CAP 26 Equilibra 2019-06-20 13:54:03 -04:00
Marty-D
bde086c600 Add Shiny Tapu Fini event 2019-05-21 13:09:29 -04:00
Marty-D
95fcc86028 Add new event Pokemon
and release Oranguru and Passimian's Hidden Abilities
2019-03-28 08:32:45 -04:00
Marty-D
3762c52dd8 Add Shiny Tapu Bulu event 2019-03-20 08:27:01 -04:00
Marty-D
f2d491db29 CAP: Remove Phantom Force from Necturine too 2019-03-06 10:36:56 -05:00
Kris Johnson
8373574337 CAP: Nerf Necturna (#5257) 2019-03-05 19:01:45 -06:00
Marty-D
8dfe58100d Learnsets: Fix Gen 4 tutor moves 2019-02-19 22:03:28 -05:00
Kris Johnson
630180fd1b CAP: Nerf Crucibelle-Mega (#5172)
* CAP: Nerf Crucibelle-Mega

* oops
2019-02-16 19:30:38 -05:00
Marty-D
dd3da86f7f Add Shiny Tapu Lele event 2018-12-18 09:04:17 -05:00
Marty-D
0606241664 Add CAP 25: Caribolt, Smokomodo, Snaelstrom 2018-11-29 13:30:33 -05:00
Kris Johnson
5b2d76d75d Add Pokemon Let's Go! (#4967) 2018-11-19 16:19:19 -06:00
Marty-D
716d4a8282 Add new event Pokemon 2018-11-02 10:41:32 -04:00
Marty-D
086daa92dc Add new event Pokemon 2018-10-05 20:09:14 -04:00
Marty-D
6024c4a1b1 Add new event Pokemon 2018-09-20 21:37:23 -04:00
Marty-D
16faa75ee4 CAP: Add Mumbao and update prevos 2018-09-04 14:23:14 -04:00
Marty-D
8d582a4b33 Add new event Pokemon 2018-09-02 16:20:08 -04:00
Marty-D
ce8dd99909 Learnsets: Lotad can't learn Dive 2018-09-02 16:19:22 -04:00
Marty-D
f02cb59e0e Add event Meloetta 2018-08-24 22:33:36 -04:00
Marty-D
cffd536c0d Add new event Pokemon 2018-08-03 15:10:25 -04:00
Marty-D
4eb33d68bf Add new event Pokemon 2018-07-03 09:08:32 -04:00
Marty-D
a56f70dada Release Zeraora and Plasma Fists 2018-07-01 13:53:41 -04:00