* Add random-sets.json for old gens to store randbats data
* Use random-sets.json files for generating sets
* Use levels from data files in gens 3-7
* Remove levels from BDSP file
* Remove random battles data from formats-data.ts
* Remove unnecessary levelScales
* Rename species_set to data
* Update commands
* linting and syntax stuff
* Adapt randbats tests
* Forgot to remove levels from joltemons file
* Rename random-sets to random-data
* Add newlines at end of json files
* Fix description of /randbats command: defaults to gen 9
* Fix an issue with gmax
* Remove randomDoubleBattleLevel for mons without doubles sets
* Apply suggestions from code review
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Rename randomBattleLevel to level
* Rename randomBattleMoves to moves
* Fix BDSP test
* Fix some gen 7-8 tests
* linting
* Gen 1-2: put custom levels in json file instead of customScale
* Gen 3: make Dunsparce level 88 (PUBL, it shouldn't be level 80)
* Type the JSON files
* revert a change that is no longer needed with typing
* moves should be IDs, not strings
---------
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
Gen 3:
some set tweaks
3 Physical attacks + Fire Blast gives Choice Band
Gen 4:
Mismagius: add Trick, so that it can rarely generate choiced sets
Umbreon can now get Wish + Moonlight, but not with Protect
Ditto will get Salac Berry or Sitrus Berry
Pidgeot, Fearow, and Farfetch'd have Heat Wave added, which will result in Life Orb sets for the first two
Gen 5:
Pikachu: remove Thunderbolt, add Volt Tackle
Dugtrio gets a fixed Life Orb set
Gens 6 and 7:
Dusknoir: remove Focus Punch
Pokemon with Rock Head/Water Absorb as possible abilities will never get Swift Swim as their ability, unless they have Rain Dance in their set
Dustox will no longer get Quiver Dance + U-Turn (the change to gen8/random-teams.ts has no effect on any gen 8 sets)
Slow Pokemon (< 90 base speed) will no longer get Life Orb with Volt Switch
Gen 6:
Rework Malamar's set
Kangaskhan-Mega will not get Seismic Toss with Power-Up Punch
Cloyster should always get Icicle Spear with Shell Smash
Focus Sash bulk threshold has been reduced from <= 275 to < 255
remove Cherrim-Sunshine set, add HP Ice to Cherrim
Gen 7:
Reshiram should always get Blue Flare
tweak Ninetales and Ninetales-Alola's sets
* Gens 6-7: give Sunflora Specs set
* Gen 6: Remove Bullet Seed from Mega Heracross
* Gen 6: give Sigilyph Flame Orb
* Gens 6-7: make Light Screen and Reflect equally likely
* more movepool changes in gen 6
* Gen 6: require recovery on support Pokemon
* Guarantee Milk Drink in gen 6 and Moonlight on pure Psychics in gens 6-7
* no Cloud Nine on Altaria (gens 5-6)
* Gen 5: guarantee Milk Drink on Miltank
* Gen 5: guarantee Moonlight on non-TR Musharna and Cresselia
* Gen 5: replace HP fighting with Focus Blast on mrmime
* Gen 5: give Sigilyph Flame Orb
* Fix Trick Room check
[Gen 8] Random Battle levels were nerfed or buffed for winrates greater than 7 or less than -7 deviations from the mean respectively.
[Gen 8] Random Doubles Battle levels were nerfed or buffed for winrates greater than 4 or less than -4 deviations from the mean respectively.
Patch notes (2/13/21):
-Prevent Virizion with 1 attack by preventing Coaching from generating with any other setup move.
-Prevent First Impression from generating with any setup move, for Sirfetch'd.
-Reject Protect if Belly Drum is in the movepool but hasn't been rolled, in an attempt to prevent Belly Drum-less Eiscue.
-Fix post-refactor bug causing heavy-duty boots to generate where it shouldn't
-Glastrier: Icicle Crash over Avalanche
-Keldeo: Muddy Water over Hydro Pump and Scald, added Air Slash.
-Regieleki: Electroweb over Eerie Impulse
-Various level balancing. Pokemon above 56.00% win rate nerfed. Pokemon below 46.00% win rate buffed. Highlights: Moltres-Galar, Regidrago, Calyrex-Shadow, Zacian-C down again, Maractus, Toxapex, Shuckle, etc. up. See pull request for full list of level changes.
Gen 7 Random Doubles: Remove Protect from Typhlosion to prevent Choice Scarf Protect.
`BattlePokedex` is now `Pokedex`, `BattleItems` is now `Items`, etc.
I also renamed `Movedex` to `Moves` and `Statuses` to `Conditions`.
`TypeChart` isn't `Types` yet, because unlike the others, it's not
indexed by ID. That should probably be fixed one day.