Commit Graph

5584 Commits

Author SHA1 Message Date
Waleed Hassan
92b2c128c2 Upgrade to TypeScript 3.7 (#5935) 2019-11-06 23:02:36 +10:30
Lusamine
2e09c83906 SSB: Namechange Akasianse to Felucia, promote Aeonic (#5932) 2019-11-05 13:27:15 -05:00
HoeenHero
762b04ea34 Update position when swapping in Wonder Trade
Closes #5931
2019-11-05 13:09:32 -05:00
pokemonvortex
bac81b59db Fix Blast Burn wording for consistency (#5927) 2019-11-03 10:50:09 -05:00
The Immortal
615f16c94d STABmons: Prevent unreleased moves 2019-11-03 05:36:53 +04:00
420Blazeitt
96cc1ed4f9 SSB: Bugfixes (#5922) 2019-10-31 09:16:53 -04:00
Marty-D
ea5d9d70dd Gen III-IV: Correct Intimidate boost attribution 2019-10-30 19:36:03 -04:00
HoeenHero
dedc8e067c SSB: Fix issue where a side has no active pokemon. 2019-10-30 11:00:14 -04:00
HoeenHero
4ced391d6b SSB: Apply various updates 2019-10-30 10:39:20 -04:00
The Immortal
87cdf35dd5
Update RBY tiers 2019-10-28 17:49:03 +04:00
YaBoiJD
149e0afac8 Add "ndm", "ndw", and "unecro" aliases for Necrozma formes (#5909) 2019-10-25 13:11:18 +10:30
HoeenHero
074b78be71 SSB: Improve Wonder Trade's interaction with Super Illusion 2019-10-24 21:56:07 -04:00
Kris Johnson
eeccd322ed Add "nidok" and "nidoq" as aliases for Nidoking/Nidoqueen (#5908) 2019-10-24 20:51:47 +10:30
urkerab
bae434e606 Add a single event for a move's own immunity to a specific target (#5904) 2019-10-24 11:00:28 +10:30
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
whales
17fc8e5771 SSB: Fix rageee + beat up crash (#5829) 2019-10-01 11:12:08 -04:00
Lusamine
84b6ec486a SSB: Change Acid Rain so Steel/Poison retain immunities; Rewrite Corrosive Toxic (#5816) 2019-10-01 11:06:24 -04:00
The Immortal
ead81c7f79 Add new OMs of the Month 2019-10-01 16:20:02 +04:00
Honko
486a394d98 Gen 4 Random Battle improvements (#5828) 2019-10-01 16:11:28 +04:00
Lusamine
f78876640a Change Murky Ambush to only work on Physical attacks (#5825) 2019-09-27 23:03:18 -04:00
HoeenHero
3445da848a Move support for overwritting custom terrains to client.
This didnt work anymore anyways since setTerrain was moved from battle to field.
2019-09-27 22:53:49 -04:00
Lusamine
edada46463 Fix multiple places in SSB leaking Illusion (#5818) 2019-09-27 21:28:12 -04:00
Torracat
f9c50edf09 SSB: Fix OM + Illusion (#5820) 2019-09-27 13:14:20 -04:00
Lusamine
c8446e3c1f Fix SSB crash when Illusion copies Kay's innate ability (#5819) 2019-09-27 10:51:26 +09:30
Lusamine
a54e534b9b Fix SSB bug in Gracidea Mastery (#5817) 2019-09-26 17:05:05 +04:00
The Immortal
0e044687a6 Random Battle: Fix duplicate moves
Accidentally added in previous commit.
2019-09-25 22:40:53 +04:00
The Immortal
f005a5bfcf Random Battle updates 2019-09-25 17:14:39 +04:00
Lusamine
7dd2d2d18f Update SSB descs (#5813) 2019-09-25 08:07:07 -04:00
TheMezStrikes
da918d5e78 SSB: Akasianse is a girl (#5812)
I'm pretty sure I specified
2019-09-25 01:38:19 +02:00
Lusamine
edeb155448 Shorten descs, add speech (#5809) 2019-09-23 11:27:34 -04:00
HoeenHero
8723969e89 Fix Toxic Spikes in SSB 2019-09-22 22:29:35 -04:00
Torracat
e9ba49fb67 Ectoplasm should not bypass protect (#5808) 2019-09-22 22:02:59 -04:00
HoeenHero
c6e30cd2f4 Fix typo 2019-09-22 19:22:44 -04:00
Torracat
f29fcef26a SSB: Fix gz guishark (#5806) 2019-09-22 16:44:28 -04:00
HoeenHero
025d3e2f72 Fix Spikes in SSB 2019-09-22 16:39:35 -04:00
HoeenHero
7f7c2d9a95
Super Staff Bros Brawl Update (#5764) 2019-09-22 14:47:33 -04:00
The Immortal
dad61c43d5 Random Battle fixes 2019-09-19 21:21:32 +04:00
fart
007215d311 Update random-teams.js (#5793) 2019-09-18 05:17:52 +04:00
The Immortal
2b76546d84 Random Battle updates
In addition to various improvements, this commit removes unused LC and NFE random moves as they are outdated.
2019-09-18 02:12:42 +04:00
TheTiksiBranch
5550ef5155 Gen 3 Random Battle: Minor Move Generation Improvements (#5788)
* Gen 3 Random Battle: Minor Move Generation Improvements

* fix typo

* fix duplicate case
2019-09-17 17:50:34 +04:00
TheTiksiBranch
5451887047 Gen 3 Random Battle: Improve Movesets (#5787)
* Gen 3 Random Battle: Improve Movesets

* Revert removing Shadow Ball from Gengar
2019-09-17 17:49:39 +04:00
Lusamine
3d8b69f218 Add shiny Necrozma event (#5786) 2019-09-15 11:50:57 -04:00
The Immortal
de2e0e4ab7 CC: Fix multiple Hidden Powers Smeargle 2019-09-14 15:36:13 +04:00
The Immortal
5d5b82a689
Gen 1: Fix Omanyte in Random Battle 2019-09-13 15:09:33 +04:00
supermii2
f1de564999 Fixed a missing space in Grassy Terrain shortDesc (#5773) 2019-09-12 21:08:08 -07:00
Flametix
a374c6aa8b Fix typo in Gen 1 accuracy hint (#5771)
accurracy -> accuracy
2019-09-11 09:10:08 -07:00
The Immortal
b096c19aa9 Random Battle: Improve sets 2019-09-04 17:03:57 +04:00
The Immortal
eba65e878a Display abilities against Magic Guard
https://github.com/Zarel/Pokemon-Showdown/projects/3#card-23723659
2019-09-03 03:26:16 +04:00
The Immortal
2cf5ff1fcf Fix build 2019-09-03 02:32:18 +04:00
The Immortal
82e4217d46 Fix past gens Challenge Cup 2019-09-03 01:53:53 +04:00
The Immortal
44d637f7b1 Random Battle: Add sound move counter 2019-09-03 00:40:23 +04:00