Commit Graph

5520 Commits

Author SHA1 Message Date
The Immortal
db1f2aa691 Remove Partners in Crime 2019-10-21 01:44:03 +04:00
420Blazeitt
74b3483da8 SSB: Fix Nap Time with existing status (#5836) 2019-10-20 08:55:03 -04:00
Marty-D
42a1ebe396 Add Shiny Tapu Koko event 2019-10-19 22:15:19 -04:00
Lusamine
6cc9212321 SSB: Correct Fat Rain descriptions (#5900) 2019-10-19 20:12:52 +04:00
Lusamine
f1ec1785b2 SSB: Fix Quick Reload to properly use Defog and then U-Turn (#5892) 2019-10-18 19:31:00 -04:00
420Blazeitt
b49de0960d SSB: Nerf Rach (#5889) 2019-10-18 19:26:08 -04:00
Lusamine
0053aa3adc SSB: Nerf Sundar (#5881) 2019-10-18 19:20:03 -04:00
Lusamine
880ebf2438 SSB: Fixes Pirate Princess's Tea Break vs Substitute (#5893) 2019-10-18 12:00:53 +04:00
urkerab
00d6e9d741 Fix activation of Defiant and Competitive when boosts are maxed (#5895) 2019-10-18 13:32:07 +10:30
urkerab
5b9d0c8db6 Centralise invulnerability checks for No Guard and Lock-On (#5894) 2019-10-17 22:32:44 -04:00
urkerab
3bfec7bf2f Rename TryImmunity to Invulnerability (#5877)
It's a check for semi-invulnerability rather than any sort of immunity.
2019-10-16 20:12:12 -04:00
The Immortal
a3233ee09c Random Battle: Fix Dragonite/Salamence 2019-10-16 16:01:59 +04:00
Lusamine
dcb438c041 Update vivalospride's and Rage's ranks (#5887) 2019-10-16 04:22:35 +04:00
The Immortal
756e21ff1b CC: Fix Necrozma 2019-10-16 00:50:55 +04:00
Guangcong Luo
92c0011b93 Fix HP Fighting Mega Latias validation 2019-10-15 21:00:40 +10:30
Guangcong Luo
e97bb7462a Fix healing move messages at full HP
Fixes #5885

Fixes #5746
2019-10-15 20:32:32 +10:30
The Immortal
773dcdc6f4 Random Battle: Improve Lycanroc & Bruxish 2019-10-13 20:36:38 +04:00
Lusamine
66966f40d0 SSB: Fix Jolteonite's description (#5874) 2019-10-12 15:47:45 +04:00
Marty-D
6030ca127d CAP: Nerf Equilibra
https://www.smogon.com/forums/posts/8253336/
2019-10-11 21:04:44 -04:00
Torracat
d3cd75ce8d SSB: Convert Distortion World to a Pseudo Weather (#5868) 2019-10-11 18:14:24 -04:00
Lusamine
2608ca74fc SSB: Buff Iyarito, rename signature move (#5870) 2019-10-11 17:19:47 -04:00
Torracat
baef9bcb77 SSB: buff Level 51 (#5869) 2019-10-11 17:19:19 -04:00
Lusamine
1145183ca0 SSB: Clarify Tipping Over short desc (#5862) 2019-10-11 17:09:33 -04:00
Lusamine
c3068e23de SSB: Fix typo in Volco's message (#5861) 2019-10-12 00:15:56 +04:00
Lusamine
6cbfe4c11a SSB: Buff ptoad (#5871) 2019-10-12 00:15:23 +04:00
Torracat
b27df882a2 Update Rory's quotes (#5872)
bad puns make the world go round
2019-10-12 00:15:06 +04:00
The Immortal
76db134959 Random Battle: Wigglytuff doesn't learn Memento 2019-10-11 23:09:51 +04:00
Alumn
eb083c46b8 Add a full ability description for Contrary + Simple (#5873) 2019-10-11 12:36:48 -04:00
The Immortal
6f78d6ec72 Random Battle: Fix Dhelmise 2019-10-09 05:26:24 +04:00
The Immortal
a57ee0bfed Random Battle improvements 2019-10-09 04:01:33 +04:00
Lusamine
1cbcb654c1 SSB: Update HoeenHero's rank (#5856) 2019-10-09 01:00:15 +11: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
Kirk Scheibelhut
691cf76de7 Fix EBC for external staleness via consumed Leppa 2019-10-05 15:41:18 -07:00
Guangcong Luo
7a023746ba
Refactor battle.dex out of battle (#5851)
In most other similar systems, like TeamValidator, we use `thing.dex` instead of having it extend `ModdedDex`. Battle has always extended `ModdedDex`, though. This changes Battle to match the others.

This should fix an issue with `Battle.data` not being cached.

This also frees up Battle to extend ObjectReadWriteStream<string> in a future update.
2019-10-06 07:38:08 +11:00
Torracat
86344e1de9 SSB: Properly update Snaq's health when switching out (#5837) 2019-10-05 14:55:31 -04:00
Torracat
ec388fd2d1 SSB: Trick Room & Alien Wave cancel eachother out (#5841) 2019-10-05 14:53:34 -04:00
Torracat
f088b25c83 SSB: Clarify Back Off's description (#5844)
The word "attacked" could mean that status moves can still work on it, which is not the case here.
2019-10-05 14:48:21 -04:00
Torracat
4be004510c SSB: Protect blocks Soup Stealing 7 star strike (#5848) 2019-10-05 14:47:52 -04:00
Guangcong Luo
3cd04c349e Fix missed conversions of validate -> obtainable 2019-10-06 04:32:23 +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
Kris Johnson
1d3fb35e9d SSB: Update Eien's rank (#5846) 2019-10-04 16:25:55 +10:00
Marty-D
236b9bc841 Fix Challenge Cup movepool generation 2019-10-03 22:19:58 -04: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
urkerab
948257cce7 Change weight units to hectograms (#5765) 2019-10-03 14:00:16 +10:00
Lusamine
483839d1a8 SSB: correct Storm Assault OGs' description (#5835) 2019-10-01 22:37:35 -04:00
Marty-D
f8e933b7be Tiers: Update for October tier shift 2019-10-01 20:55:13 -04:00
HoeenHero
9a2c2adf82 Fix bad typing 2019-10-01 19:55:09 -04:00
HoeenHero
78a0fb0ad6 SSB: Update Inactive's Faint Message 2019-10-01 11:19:04 -04:00
Torracat
d977cc8aa4 SSB: Break Illusion on Scripted Terrain Corrupt (#5830) 2019-10-01 11:13:58 -04:00