* Gen 2 Random Battles updates
* Gen 3 Random Battles updates
* Gen 4 Random Battles updates
* Gen 8 Random Battles updates
* Remove Castform STAB exception in Gen 3
* Create framework for Gen 7 rands revamp
* Shuffle moves and deal with Z-Conversion Porygon-Z
* Add isDoubles as a input for STAB enforcement
* Undo previous
* Move gen 7 doubles code to a separate file
* fill out moves
* revamp abilities
* minor moveset updates
* prevent technician alolan persian
* mostly linting
* Revamp setup moves
* Male Greninja
* Further clean up Setup lists
* More Z-move stuff
* Tweak move and ability incompatibilities
* enforce shadow sneak on kecleon
* Add Geomancy to setup and prevent evasion abilities by default
* items
* more minor set updates
* linting
* add more z-move users
* soundproof kommonium clanger
* rockium kabutops
* Weak Armor adjustments + some syntax
* refactor and fix /setodds and /randbats and /randdubs
* improve item generation code
* Allow plot sucker houndoom
* Allow Power Construct on Zygarde and homogenize gen 6 ability generation code
* Don't apply new noSTAB list to gen 7 doubles
* Fix -ate abilities
* comment
* Rework shed skin a bit
* Abilities tweaking/simplifying
* simplify Magnet Pull, since Probopass always has earth power
* Enforce U-turn on some Bug types
* Rework specific ability rejections into enforcements
* Prevent Oblivious on Pokemon with no Status moves, since infatuation doesn't exist
* Remove unnecessary item generation code
* Remove Petaya Berry from HP EVs adjustments
* prevent scarf lanturn
* scarf physical changes
diggersby/medicham
* Give Genesect-Douse its level
* Bug fixes and minor set changes
* Split raichu-alola
* Remove unnecessary preferred types
* Don't enforce HP flying on flying types
* make 4 atks jirachi av
* Actually give Jirachi AV and prevent swift swim kingdra with focus energy
* remove another unnecessary ptype
* Drain Punch/CC incompatibility
* Enforce recovery on support Mew
* Prevent Life Orb with Sturdy
* add preferred type(s) to /randbats for gen7
* lint
* forgot semicolon oops
* Remove kangaskhan PT
* Fix u-turn enforcement
* Enforce recovery on Volbeat
* Don't give Honchkrow Black Glasses
* Setup Solgaleo should get Weakness Policy
* Add Bulk Up to guts hariyama
* make Kingler setup sweeper
* Stoutland set update
* Prevent Sash Mismagius and double fire move Volcarona
* Prevent Choice Scarf on Wallbreaker
* Enforce recovery on Ledian
* Remove Ice Beam from Absol-Mega
* Adjust Seviper PTs
* PT normal Heliolisk
* Add PUP to nostab
* Future-proof Nihilego's SpD EVs in case of level changes/Hidden Power IVs
* Change Shaymin PT to Flying
* Prevent lead Focus Sash with Defog or Regenerator
* Remove unnecessary condition for sash
* Move pivotingMoves to the top
* Support Max Move Count tests for gens 7 and 9
* Move general incompatibilites to incompatiblePairs array
* Create a type for roles
* Make Gen 7 no longer inherit from Gen 7 doubles
* Remove unnecessary hardcode
* Remove now unnecessary code (after doubles/singles separation)
* Move hardcodes into incompatiblePairs array
* Split ability enforcement into species and non/species conditions, and fix up some minor things
* Convert ability enforcements that only apply to one Pokemon to species-based
* Update server/chat-plugins/randombattles/index.ts
Co-authored-by: Mia <49593536+mia-pi-git@users.noreply.github.com>
* Update server/chat-plugins/randombattles/index.ts
Co-authored-by: Mia <49593536+mia-pi-git@users.noreply.github.com>
* Update random-teams.ts
* make types for role and preferredType explicit in function definitions
* Update test/random-battles/gen7.js
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen6/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen6/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Update data/mods/gen7/random-teams.ts
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* finish snake casing the gen 7 file
* snake case gen 8, hopefully
* Update random-teams.ts
* lint please
* missed a snake
* Fix an incompatibility
* Add types for randomSets
* Simplify /randbats data retrival for Gen 7 random doubles
* Further simplify gen 7 randdubs command
---------
Co-authored-by: livid washed <115855253+livid-washed@users.noreply.github.com>
Co-authored-by: adrivrie <adriaan.de.vries@hotmail.com>
Co-authored-by: Mia <49593536+mia-pi-git@users.noreply.github.com>
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Gen 8 Random Doubles Battles updates
* Gen 3: Remove Confuse Ray from Corsola
* Gen 6: enforce Poison STAB (same condition as gen 7)
* Gen 6 set changes
* Gen 6-7 set changes
* Gen 7: tweak Pikachu and Gyro Ball IVs
* 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
* Changes on the pinned list
* Implement other changes
* linting
* 3 Special attacks + U-Turn = Choice
* Toxic Orb if Quick Feet
* Tauros should get Life Orb and Sheer Force
* Add Quick Feet rejection condition
* Update data/mods/gen8bdsp/random-teams.ts
---------
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Gen 8 Battle Factory: Remove Band set from Ubers Darmanitan-Galar
Credentials: https://cdn.discordapp.com/attachments/1042959218208157696/1067534457160089731/image.png (i am "lost wind's elegy")
Darm-G's firepower is just fine with scarf; there aren't many (if any?) relevant 1hkos or 2hkos you miss out on compared to band. The only one I can think of is missing out on the OHKO vs Sp. Def Necrozma Dusk Mane, and nobody's leaving their NDM in anyway + you probably have like 12 other things to deal with it.
Without scarf, however, you miss out on really good source of offensive checking and revenge killing potential. Scarf outspeeds huge threats like non scarf Yveltal, Eternatus, Calyrex-Shadow, etc.
What sparks had to say about band darm in proper SS Ubers:
sparks — Today at 1:53 PM
not really but with band building needs to be more focused cos the speed over the 90s and etern etc is insane with scarf
sparks — Today at 1:54 PM
while with band you're very much focused on "how to take out ndm and capitalize while not being weak to ho"
As a secondary factor, it would make Ubers in BF a lot better. Currently you have to not only win the coinflip of what move Darm clicks but also the coinflip of what item it is. Both of these are more or less up to random chance.
* Update data/mods/gen8/factory-sets.json
---------
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Gen 4: remove Unaware from Bibarel
* Gen 4: prevent Dragon Pulse + Draco Meteor
* Gen 2: Gligar and TTar set changes + count Screech as a physical setup move
* Gen 2: Enforce STAB Flying on Gligar (futureproofing for if its movepool is expanded)