@pkmn/sim 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/config/formats.ts CHANGED
@@ -249,9 +249,9 @@ export const Formats: FormatList = [
249
249
  ruleset: ['[Gen 8] LC'],
250
250
  banlist: [
251
251
  // LC OU
252
- 'Abra', 'Archen', 'Carvanha', 'Diglett-Base', 'Dwebble', 'Ferroseed', 'Foongus', 'Frillish', 'Grookey', 'Koffing',
253
- 'Larvesta', 'Magnemite', 'Mareanie', 'Mienfoo', 'Mudbray', 'Munchlax', 'Natu', 'Onix', 'Pawniard', 'Ponyta',
254
- 'Ponyta-Galar', 'Porygon', 'Slowpoke-Base', 'Spritzee', 'Staryu', 'Timburr', 'Trapinch', 'Tyrunt', 'Vulpix',
252
+ 'Abra', 'Carvanha', 'Croagunk', 'Diglett-Base', 'Dwebble', 'Ferroseed', 'Foongus', 'Frillish', 'Grookey',
253
+ 'Koffing', 'Larvesta', 'Magnemite', 'Mareanie', 'Mienfoo', 'Mudbray', 'Munchlax', 'Natu', 'Onix', 'Pawniard',
254
+ 'Ponyta', 'Ponyta-Galar', 'Porygon', 'Slowpoke-Base', 'Staryu', 'Timburr', 'Trapinch', 'Tyrunt', 'Vulpix',
255
255
  // LC UUBL
256
256
  'Farfetch\u2019d-Galar', 'Scorbunny', 'Shellder', 'Wingull',
257
257
  ],
@@ -299,6 +299,21 @@ export const Formats: FormatList = [
299
299
  searchShow: false,
300
300
  ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
301
301
  },
302
+ {
303
+ name: "[Gen 8] Test Your Luck!",
304
+ threads: [
305
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3695144/">Test Your Luck! Discussion</a>`,
306
+ ],
307
+
308
+ mod: 'gen8',
309
+ ruleset: ['Flat Rules', '!! Adjust Level = 50', 'VGC Timer', 'Min Source Gen = 8'],
310
+ banlist: ['Azelf', 'Mesprit', 'Uxie'],
311
+ onValidateSet(set, format) {
312
+ if (set.moves.length !== 1 || this.dex.moves.get(set.moves[0]).id !== 'metronome') {
313
+ return [`${set.name || set.species} has illegal moves.`, `(${format.name} only allows the move Metronome)`];
314
+ }
315
+ },
316
+ },
302
317
  {
303
318
  name: "[Gen 8] Custom Game",
304
319
 
@@ -372,32 +387,25 @@ export const Formats: FormatList = [
372
387
  banlist: ['Corsola-Galar', 'Cutiefly', 'Ponyta-Base', 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Vulpix', 'Vulpix-Alola'],
373
388
  },
374
389
  {
375
- name: "[Gen 8] VGC 2021 Series 11",
376
- threads: [
377
- `&bullet; <a href="https://www.smogon.com/forums/threads/3677186/">VGC 2021 Series 11 Metagame Discussion</a>`,
378
- `&bullet; <a href="https://www.smogon.com/forums/threads/3693427/">VGC 2021 Series 11 Sample Teams</a>`,
379
- `&bullet; <a href="https://www.smogon.com/forums/threads/3693284/">VGC 2021 Series 11 Viability Rankings</a>`,
380
- ],
390
+ name: "[Gen 8] VGC 2022",
381
391
 
382
392
  mod: 'gen8',
383
393
  gameType: 'doubles',
384
- ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer', 'Limit One Restricted'],
394
+ ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer', 'Limit Two Restricted'],
385
395
  restricted: ['Restricted Legendary'],
386
396
  },
387
397
  {
388
- name: "[Gen 8] Tiny Tourney",
398
+ name: "[Gen 8] VGC 2021 Series 11",
389
399
  threads: [
390
- `&bullet; <a href="https://www.smogon.com/forums/threads/3694047/">Tiny Tourney Metagame Discussion</a>`,
400
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3677186/">VGC 2021 Series 11 Metagame Discussion</a>`,
401
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693427/">VGC 2021 Series 11 Sample Teams</a>`,
402
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693284/">VGC 2021 Series 11 Viability Rankings</a>`,
391
403
  ],
392
404
 
393
405
  mod: 'gen8',
394
406
  gameType: 'doubles',
395
- ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
396
- onValidateSet(set) {
397
- const species = this.dex.species.get(set.species);
398
- if (!species.nfe || species.prevo) return [`Non-first-stage Pok\u00e9mon cannot be used in Tiny Tourney.`];
399
- if (species.heightm > 1) return [`${species.name} is too tall to be used in Tiny Tourney.`];
400
- },
407
+ ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer', 'Limit One Restricted'],
408
+ restricted: ['Restricted Legendary'],
401
409
  },
402
410
  {
403
411
  name: "[Gen 8] VGC 2021 Series 9",
@@ -527,11 +535,10 @@ export const Formats: FormatList = [
527
535
  ruleset: ['[Gen 8] National Dex'],
528
536
  banlist: [
529
537
  // National Dex OU
530
- 'Blaziken', 'Blissey', 'Chansey', 'Charizard-Mega-X', 'Charizard-Mega-Y', 'Clefable', 'Corviknight', 'Diancie-Mega',
531
- 'Excadrill', 'Ferrothorn', 'Garchomp', 'Gliscor', 'Greninja', 'Heatran', 'Kartana', 'Kommo-o', 'Kyurem', 'Landorus-Therian',
532
- 'Lopunny-Mega', 'Magnezone', 'Mawile-Mega', 'Medicham-Mega', 'Pelipper', 'Rillaboom', 'Scizor-Mega', 'Serperior',
533
- 'Slowbro-Base', 'Swampert-Mega', 'Tapu Fini', 'Tapu Koko', 'Tapu Lele', 'Toxapex', 'Tyranitar', 'Victini', 'Volcarona',
534
- 'Weavile', 'Zapdos-Base',
538
+ 'Blissey', 'Chansey', 'Charizard-Mega-X', 'Charizard-Mega-Y', 'Clefable', 'Corviknight', 'Diancie-Mega', 'Excadrill',
539
+ 'Ferrothorn', 'Garchomp', 'Gliscor', 'Greninja', 'Heatran', 'Kartana', 'Kommo-o', 'Kyurem', 'Landorus-Therian', 'Lopunny-Mega',
540
+ 'Magnezone', 'Mawile-Mega', 'Pelipper', 'Rillaboom', 'Scizor-Mega', 'Serperior', 'Slowbro-Base', 'Swampert-Mega', 'Tapu Fini',
541
+ 'Tapu Koko', 'Tapu Lele', 'Toxapex', 'Tyranitar', 'Victini', 'Volcarona', 'Weavile', 'Zapdos-Base',
535
542
  'ND UUBL', // National Dex UUBL
536
543
  'Drizzle', 'Drought',
537
544
  // Slowbronite is banned so it doesn't validate on Galarian Slowbro
@@ -539,10 +546,12 @@ export const Formats: FormatList = [
539
546
  ],
540
547
  // Used to distinguish UU from below UU in the client
541
548
  restricted: [
542
- 'Absol-Mega', 'Aegislash', 'Alomomola', 'Altaria-Mega', 'Amoonguss', 'Beedrill-Mega', 'Bisharp', 'Breloom', 'Celesteela',
543
- 'Donphan', 'Dragonite', 'Hippowdon', 'Infernape', 'Keldeo', 'Krookodile', 'Mandibuzz', 'Manectric-Mega', 'Melmetal', 'Mew',
544
- 'Moltres-Base', 'Porygon2', 'Regieleki', 'Rotom-Heat', 'Rotom-Wash', 'Scizor', 'Skarmory', 'Slowking', 'Slowking-Galar',
545
- 'Swampert-Base', 'Tangrowth', 'Umbreon', 'Urshifu-Rapid-Strike',
549
+ 'Aegislash', 'Alakazam-Base', 'Altaria-Mega', 'Amoonguss', 'Beedrill-Mega', 'Blaziken-Base', 'Breloom', 'Celesteela',
550
+ 'Chandelure', 'Donphan', 'Dracozolt', 'Dragonite', 'Feraligatr', 'Gastrodon', 'Hatterene', 'Hippowdon', 'Infernape',
551
+ 'Keldeo', 'Krookodile', 'Mamoswine', 'Mandibuzz', 'Manectric-Mega', 'Medicham-Mega', 'Melmetal', 'Mienshao', 'Moltres-Base',
552
+ 'Nidoking', 'Nidoqueen', 'Nihilego', 'Quagsire', 'Regieleki', 'Ribombee', 'Rotom-Heat', 'Rotom-Wash', 'Salamence',
553
+ 'Scizor', 'Skarmory', 'Slowking-Base', 'Swampert-Base', 'Talonflame', 'Tangrowth', 'Tornadus-Base', 'Umbreon',
554
+ 'Urshifu-Rapid-Strike',
546
555
  ],
547
556
  },
548
557
  {
@@ -635,38 +644,80 @@ export const Formats: FormatList = [
635
644
  column: 2,
636
645
  },
637
646
  {
638
- name: "[Gen 8] Revelationmons",
639
- desc: `The moves in the first slot(s) of a Pok&eacute;mon's set have their types changed to match the Pok&eacute;mon's type(s).`,
647
+ name: "[Gen 8] Pokebilities",
648
+ desc: `Pok&eacute;mon have all of their released abilities simultaneously.`,
640
649
  threads: [
641
- `&bullet; <a href="https://www.smogon.com/forums/threads/3692297/">Revelationmons</a>`,
650
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3679692/">Pok&eacute;bilities</a>`,
642
651
  ],
643
-
644
- mod: 'gen8',
645
- ruleset: ['Standard', 'Dynamax Clause', 'Revelationmons Mod', 'Sleep Moves Clause'],
652
+ mod: 'pokebilities',
653
+ ruleset: ['Standard', 'Dynamax Clause'],
646
654
  banlist: [
647
- 'Barraskewda', 'Blacephalon', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Dragapult',
648
- 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kommo-o', 'Kyogre', 'Kyurem-Black', 'Kyurem-White',
649
- 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane',
650
- 'Noivern', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian',
651
- 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody', 'Power Construct',
652
- 'Shadow Tag', 'King\'s Rock', 'Baton Pass',
655
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Eternatus', 'Excadrill',
656
+ 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base',
657
+ 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia',
658
+ 'Pheromosa', 'Porygon-Z', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian',
659
+ 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom', 'Zygarde-Base', 'Power Construct', 'Baton Pass',
660
+ // Moody users
661
+ 'Glalie', 'Octillery', 'Remoraid', 'Snorunt',
662
+ // Shadow Tag/Arena Trap
663
+ 'Diglett-Base', 'Dugtrio-Base', 'Gothita', 'Gothitelle', 'Gothorita', 'Trapinch', 'Wobbuffet', 'Wynaut',
653
664
  ],
654
- restricted: ['Bolt Beak', 'U-turn', 'Volt Switch'],
665
+ onBegin() {
666
+ for (const pokemon of this.getAllPokemon()) {
667
+ if (pokemon.ability === this.toID(pokemon.species.abilities['S'])) {
668
+ continue;
669
+ }
670
+ pokemon.m.innates = Object.keys(pokemon.species.abilities)
671
+ .filter(key => key !== 'S' && (key !== 'H' || !pokemon.species.unreleasedHidden))
672
+ .map(key => this.toID(pokemon.species.abilities[key as "0" | "1" | "H" | "S"]))
673
+ .filter(ability => ability !== pokemon.ability);
674
+ }
675
+ },
676
+ onSwitchInPriority: 2,
677
+ onSwitchIn(pokemon) {
678
+ if (pokemon.m.innates) {
679
+ for (const innate of pokemon.m.innates) {
680
+ pokemon.addVolatile("ability:" + innate, pokemon);
681
+ }
682
+ }
683
+ },
684
+ onAfterMega(pokemon) {
685
+ for (const innate of Object.keys(pokemon.volatiles).filter(i => i.startsWith('ability:'))) {
686
+ pokemon.removeVolatile(innate);
687
+ }
688
+ pokemon.m.innates = undefined;
689
+ },
655
690
  },
656
691
  {
657
- name: "[Gen 8 BDSP] Balanced Hackmons",
658
- desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
692
+ name: "[Gen 8] Camomons",
693
+ desc: `Pok&eacute;mon change type to match their first two moves.`,
659
694
  threads: [
660
- `&bullet; <a href="https://www.smogon.com/forums/posts/9043074">BDSP Balanced Hackmons</a>`,
695
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3656413/">Camomons</a>`,
661
696
  ],
662
697
 
663
- mod: 'gen8bdsp',
664
- ruleset: ['-Nonexistent', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Moves Clause', 'Endless Battle Clause'],
698
+ mod: 'gen8',
699
+ // searchShow: false,
700
+ ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Dynamax Clause', 'Sleep Clause Mod', 'Endless Battle Clause'],
665
701
  banlist: [
666
- 'Shedinja', 'Arena Trap', 'Contrary', 'Gorilla Tactics', 'Huge Power', 'Illusion', 'Innards Out', 'Intrepid Sword',
667
- 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble',
668
- 'Wonder Guard', 'Comatose + Sleep Talk', 'Shell Smash',
702
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin',
703
+ 'Groudon', 'Ho-Oh', 'Hydreigon', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Latias', 'Latios', 'Lugia',
704
+ 'Lunala', 'Marshadow', 'Mew', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram',
705
+ 'Reuniclus', 'Shedinja', 'Slowking-Galar', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Volcarona', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
706
+ 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass',
669
707
  ],
708
+ onModifySpeciesPriority: 2,
709
+ onModifySpecies(species, target, source, effect) {
710
+ if (!target) return; // Chat command
711
+ if (effect && ['imposter', 'transform'].includes(effect.id)) return;
712
+ const types = [...new Set(target.baseMoveSlots.slice(0, 2).map(move => this.dex.moves.get(move.id).type))];
713
+ return {...species, types: types};
714
+ },
715
+ onSwitchIn(pokemon) {
716
+ this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
717
+ },
718
+ onAfterMega(pokemon) {
719
+ this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
720
+ },
670
721
  },
671
722
 
672
723
  // Other Metagames
@@ -785,13 +836,13 @@ export const Formats: FormatList = [
785
836
  mod: 'gen8',
786
837
  ruleset: ['Obtainable', '!Obtainable Abilities', 'Species Clause', 'Nickname Clause', '2 Ability Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Dynamax Clause', 'Sleep Moves Clause', 'Endless Battle Clause'],
787
838
  banlist: [
788
- 'Archeops', 'Buzzwole', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Gengar', 'Giratina', 'Giratina-Origin',
789
- 'Groudon', 'Ho-Oh', 'Kartana', 'Keldeo', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mewtwo',
790
- 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia', 'Pheromosa', 'Rayquaza', 'Regigigas', 'Reshiram', 'Shedinja', 'Solgaleo', 'Spectrier',
791
- 'Urshifu-Base', 'Urshifu-Rapid-Strike', 'Victini', 'Weavile', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom', 'Zeraora', 'Zygarde-Base',
792
- 'Arena Trap', 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter', 'Innards Out', 'Intrepid Sword',
793
- 'Libero', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Poison Heal', 'Power Construct', 'Protean', 'Pure Power', 'Shadow Tag', 'Simple', 'Stakeout',
794
- 'Speed Boost', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
839
+ 'Archeops', 'Blacephalon', 'Buzzwole', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Gengar', 'Giratina',
840
+ 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Keldeo', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow',
841
+ 'Melmetal', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia', 'Pheromosa', 'Rayquaza', 'Regigigas', 'Reshiram', 'Shedinja',
842
+ 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Urshifu-Rapid-Strike', 'Victini', 'Weavile', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom',
843
+ 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter',
844
+ 'Innards Out', 'Intrepid Sword', 'Libero', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Poison Heal', 'Power Construct', 'Protean', 'Pure Power',
845
+ 'Shadow Tag', 'Simple', 'Stakeout', 'Speed Boost', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
795
846
  ],
796
847
  onValidateSet(set) {
797
848
  // Temporary fix until battle-only is implemented properly
@@ -848,7 +899,7 @@ export const Formats: FormatList = [
848
899
  ],
849
900
 
850
901
  mod: 'gen8',
851
- ruleset: ['Standard', 'Dynamax Clause'],
902
+ ruleset: ['Standard', 'Dynamax Clause', 'Sleep Moves Clause'],
852
903
  banlist: [
853
904
  'Blissey', 'Calyrex-Shadow', 'Chansey', 'Dragapult', 'Hawlucha', 'Marowak-Alola', 'Melmetal', 'Pikachu', 'Toxapex',
854
905
  'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power', 'Moody', 'Pure Power',
@@ -963,6 +1014,13 @@ export const Formats: FormatList = [
963
1014
  ruleset: ['[Gen 8 BDSP] OU'],
964
1015
  banlist: ['OU', 'UUBL'],
965
1016
  },
1017
+ {
1018
+ name: "[Gen 8 BDSP] RU",
1019
+
1020
+ mod: 'gen8bdsp',
1021
+ ruleset: ['[Gen 8 BDSP] UU'],
1022
+ banlist: ['UU', 'RUBL'],
1023
+ },
966
1024
  {
967
1025
  name: "[Gen 8 BDSP] Monotype",
968
1026
  threads: [
@@ -986,6 +1044,15 @@ export const Formats: FormatList = [
986
1044
  searchShow: false,
987
1045
  ruleset: ['[Gen 8 BDSP] OU', '+CAP'],
988
1046
  },
1047
+ {
1048
+ name: "[Gen 8 BDSP] 3v3 Singles",
1049
+ threads: [
1050
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3695092/">BDSP 3v3 Singles</a>`,
1051
+ ],
1052
+
1053
+ mod: 'gen8bdsp',
1054
+ ruleset: ['Flat Rules', 'Min Source Gen = 8'],
1055
+ },
989
1056
  {
990
1057
  name: "[Gen 8 BDSP] Doubles OU",
991
1058
  threads: [
@@ -1022,37 +1089,6 @@ export const Formats: FormatList = [
1022
1089
  section: "Challengeable OMs",
1023
1090
  column: 2,
1024
1091
  },
1025
- {
1026
- name: "[Gen 8] Camomons",
1027
- desc: `Pok&eacute;mon change type to match their first two moves.`,
1028
- threads: [
1029
- `&bullet; <a href="https://www.smogon.com/forums/threads/3656413/">Camomons</a>`,
1030
- ],
1031
-
1032
- mod: 'gen8',
1033
- searchShow: false,
1034
- ruleset: ['Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Dynamax Clause', 'Sleep Clause Mod', 'Endless Battle Clause'],
1035
- banlist: [
1036
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon',
1037
- 'Ho-Oh', 'Hydreigon', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Latias', 'Latios', 'Lugia', 'Lunala', 'Marshadow',
1038
- 'Mew', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Reuniclus', 'Shedinja',
1039
- 'Slowking-Galar', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom',
1040
- 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass',
1041
- ],
1042
- onModifySpeciesPriority: 2,
1043
- onModifySpecies(species, target, source, effect) {
1044
- if (!target) return; // Chat command
1045
- if (effect && ['imposter', 'transform'].includes(effect.id)) return;
1046
- const types = [...new Set(target.baseMoveSlots.slice(0, 2).map(move => this.dex.moves.get(move.id).type))];
1047
- return {...species, types: types};
1048
- },
1049
- onSwitchIn(pokemon) {
1050
- this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
1051
- },
1052
- onAfterMega(pokemon) {
1053
- this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
1054
- },
1055
- },
1056
1092
  {
1057
1093
  name: "[Gen 8] Inheritance",
1058
1094
  desc: `Pok&eacute;mon may use the ability and moves of another, as long as they forfeit their own learnset.`,
@@ -2072,50 +2108,40 @@ export const Formats: FormatList = [
2072
2108
  column: 3,
2073
2109
  },
2074
2110
  {
2075
- name: "[Gen 1] UU",
2076
- threads: [
2077
- `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU Metagame Discussion</a>`,
2078
- `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Rankings</a>`,
2079
- ],
2111
+ name: "[Gen 2] UU",
2112
+ threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3576710/">GSC UU</a>`],
2080
2113
 
2081
- mod: 'gen1',
2114
+ mod: 'gen2',
2082
2115
  // searchShow: false,
2083
- ruleset: ['[Gen 1] OU'],
2116
+ ruleset: ['[Gen 2] OU'],
2084
2117
  banlist: ['OU', 'UUBL'],
2085
2118
  },
2086
2119
  {
2087
- name: "[Gen 6] 1v1",
2088
- desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
2120
+ name: "[Gen 5] NU",
2089
2121
  threads: [
2090
- `&bullet; <a href="https://www.smogon.com/forums/posts/8031459/">ORAS 1v1</a>`,
2122
+ `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2123
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3484121/">BW2 NU Viability Rankings</a>`,
2091
2124
  ],
2092
2125
 
2093
- mod: 'gen6',
2126
+ mod: 'gen5',
2094
2127
  // searchShow: false,
2095
- ruleset: [
2096
- 'Max Team Size = 3', 'Picked Team Size = 1',
2097
- 'Obtainable', 'Nickname Clause', 'Moody Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Accuracy Moves Clause', 'Swagger Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview',
2098
- ],
2099
- banlist: [
2100
- 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2101
- 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2102
- 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2103
- 'Focus Sash', 'Soul Dew', 'Perish Song',
2104
- ],
2128
+ ruleset: ['[Gen 5] RU', '!Sleep Moves Clause', 'Sleep Clause Mod'],
2129
+ banlist: ['RU', 'NUBL', 'Assist', 'Copycat'],
2105
2130
  },
2106
2131
  {
2107
- name: "[Gen 5] Doubles OU",
2132
+ name: "[Gen 5] LC",
2108
2133
  threads: [
2109
- `&bullet; <a href="https://www.smogon.com/forums/threads/3606719/">BW2 Doubles Metagame Discussion</a>`,
2110
- `&bullet; <a href="https://www.smogon.com/forums/posts/7393048/">BW2 Doubles Viability Rankings</a>`,
2111
- `&bullet; <a href="https://www.smogon.com/forums/posts/7393081/">BW2 Doubles Sample Teams</a>`,
2134
+ `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2135
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3485860/">BW2 LC Viability Rankings</a>`,
2112
2136
  ],
2113
2137
 
2114
2138
  mod: 'gen5',
2115
- gameType: 'doubles',
2116
2139
  // searchShow: false,
2117
- ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2118
- banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity'],
2140
+ ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause'],
2141
+ banlist: [
2142
+ 'Gligar', 'Meditite', 'Misdreavus', 'Murkrow', 'Scraggy', 'Scyther', 'Sneasel', 'Tangela', 'Vulpix', 'Yanma',
2143
+ 'Sand Rush', 'Sand Veil', 'Berry Juice', 'Soul Dew', 'Baton Pass', 'Dragon Rage', 'Sonic Boom', 'Swagger',
2144
+ ],
2119
2145
  },
2120
2146
 
2121
2147
  // Past Gens OU
@@ -2181,7 +2207,7 @@ export const Formats: FormatList = [
2181
2207
 
2182
2208
  mod: 'gen3',
2183
2209
  ruleset: ['Standard', 'One Boost Passer Clause'],
2184
- banlist: ['Uber', 'Sand Veil', 'Smeargle + Ingrain'],
2210
+ banlist: ['Uber', 'Sand Veil', 'Assist', 'Smeargle + Ingrain'],
2185
2211
  },
2186
2212
  {
2187
2213
  name: "[Gen 2] OU",
@@ -2748,6 +2774,26 @@ export const Formats: FormatList = [
2748
2774
  'Soul Dew', 'Baton Pass',
2749
2775
  ],
2750
2776
  },
2777
+ {
2778
+ name: "[Gen 6] 1v1",
2779
+ desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
2780
+ threads: [
2781
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8031459/">ORAS 1v1</a>`,
2782
+ ],
2783
+
2784
+ mod: 'gen6',
2785
+ searchShow: false,
2786
+ ruleset: [
2787
+ 'Max Team Size = 3', 'Picked Team Size = 1',
2788
+ 'Obtainable', 'Nickname Clause', 'Moody Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Accuracy Moves Clause', 'Swagger Clause', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod', 'Team Preview',
2789
+ ],
2790
+ banlist: [
2791
+ 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2792
+ 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2793
+ 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2794
+ 'Focus Sash', 'Soul Dew', 'Perish Song',
2795
+ ],
2796
+ },
2751
2797
  {
2752
2798
  name: "[Gen 6] Anything Goes",
2753
2799
  threads: [
@@ -2946,18 +2992,6 @@ export const Formats: FormatList = [
2946
2992
  banlist: ['UU', 'RUBL', 'Shadow Tag', 'Shell Smash + Baton Pass'],
2947
2993
  unbanlist: ['Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
2948
2994
  },
2949
- {
2950
- name: "[Gen 5] NU",
2951
- threads: [
2952
- `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2953
- `&bullet; <a href="https://www.smogon.com/forums/threads/3484121/">BW2 NU Viability Rankings</a>`,
2954
- ],
2955
-
2956
- mod: 'gen5',
2957
- searchShow: false,
2958
- ruleset: ['[Gen 5] RU', '!Sleep Moves Clause', 'Sleep Clause Mod'],
2959
- banlist: ['RU', 'NUBL', 'Assist', 'Copycat'],
2960
- },
2961
2995
  {
2962
2996
  name: "[Gen 5] PU",
2963
2997
  threads: [
@@ -2969,21 +3003,6 @@ export const Formats: FormatList = [
2969
3003
  ruleset: ['[Gen 5] NU', 'Sleep Moves Clause'],
2970
3004
  banlist: ['NU', 'Combusken', 'Gothorita', 'Linoone', 'Riolu', 'Rotom-Frost', 'Simipour', 'Throh', 'Vigoroth'],
2971
3005
  },
2972
- {
2973
- name: "[Gen 5] LC",
2974
- threads: [
2975
- `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2976
- `&bullet; <a href="https://www.smogon.com/forums/threads/3485860/">BW2 LC Viability Rankings</a>`,
2977
- ],
2978
-
2979
- mod: 'gen5',
2980
- searchShow: false,
2981
- ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause'],
2982
- banlist: [
2983
- 'Gligar', 'Meditite', 'Misdreavus', 'Murkrow', 'Scraggy', 'Scyther', 'Sneasel', 'Tangela', 'Vulpix', 'Yanma',
2984
- 'Sand Rush', 'Sand Veil', 'Berry Juice', 'Soul Dew', 'Baton Pass', 'Dragon Rage', 'Sonic Boom', 'Swagger',
2985
- ],
2986
- },
2987
3006
  {
2988
3007
  name: "[Gen 5] Monotype",
2989
3008
  desc: `All the Pok&eacute;mon on a team must share a type.`,
@@ -3037,6 +3056,20 @@ export const Formats: FormatList = [
3037
3056
  section: 'B2/W2 Doubles',
3038
3057
  column: 4,
3039
3058
  },
3059
+ {
3060
+ name: "[Gen 5] Doubles OU",
3061
+ threads: [
3062
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3606719/">BW2 Doubles Metagame Discussion</a>`,
3063
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7393048/">BW2 Doubles Viability Rankings</a>`,
3064
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7393081/">BW2 Doubles Sample Teams</a>`,
3065
+ ],
3066
+
3067
+ mod: 'gen5',
3068
+ gameType: 'doubles',
3069
+ searchShow: false,
3070
+ ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
3071
+ banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity'],
3072
+ },
3040
3073
  {
3041
3074
  name: "[Gen 5] VGC 2013",
3042
3075
 
@@ -3176,7 +3209,7 @@ export const Formats: FormatList = [
3176
3209
  'Picked Team Size = 1', 'Max Team Size = 3',
3177
3210
  '[Gen 4] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview',
3178
3211
  ],
3179
- banlist: ['Latias', 'Machamp', 'Porygon-Z', 'Snorlax', 'Togekiss', 'Focus Sash', 'Destiny Bond', 'Explosion', 'Perish Song', 'Self-Destruct'],
3212
+ banlist: ['Latias', 'Machamp', 'Porygon-Z', 'Shaymin', 'Snorlax', 'Togekiss', 'Focus Sash', 'Destiny Bond', 'Explosion', 'Perish Song', 'Self-Destruct'],
3180
3213
  unbanlist: ['Wobbuffet', 'Wynaut', 'Sand Veil'],
3181
3214
  },
3182
3215
  {
@@ -3346,15 +3379,6 @@ export const Formats: FormatList = [
3346
3379
  searchShow: false,
3347
3380
  ruleset: ['Standard'],
3348
3381
  },
3349
- {
3350
- name: "[Gen 2] UU",
3351
- threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3576710/">GSC UU</a>`],
3352
-
3353
- mod: 'gen2',
3354
- searchShow: false,
3355
- ruleset: ['[Gen 2] OU'],
3356
- banlist: ['OU', 'UUBL'],
3357
- },
3358
3382
  {
3359
3383
  name: "[Gen 2] NU",
3360
3384
  threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3642565/">GSC NU</a>`],
@@ -3421,6 +3445,18 @@ export const Formats: FormatList = [
3421
3445
  searchShow: false,
3422
3446
  ruleset: ['Standard'],
3423
3447
  },
3448
+ {
3449
+ name: "[Gen 1] UU",
3450
+ threads: [
3451
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU Metagame Discussion</a>`,
3452
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Rankings</a>`,
3453
+ ],
3454
+
3455
+ mod: 'gen1',
3456
+ searchShow: false,
3457
+ ruleset: ['[Gen 1] OU'],
3458
+ banlist: ['OU', 'UUBL'],
3459
+ },
3424
3460
  {
3425
3461
  name: "[Gen 1] NU",
3426
3462
  threads: [