@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.
@@ -231,9 +231,9 @@ exports.Formats = [
231
231
  ruleset: ['[Gen 8] LC'],
232
232
  banlist: [
233
233
  // LC OU
234
- 'Abra', 'Archen', 'Carvanha', 'Diglett-Base', 'Dwebble', 'Ferroseed', 'Foongus', 'Frillish', 'Grookey', 'Koffing',
235
- 'Larvesta', 'Magnemite', 'Mareanie', 'Mienfoo', 'Mudbray', 'Munchlax', 'Natu', 'Onix', 'Pawniard', 'Ponyta',
236
- 'Ponyta-Galar', 'Porygon', 'Slowpoke-Base', 'Spritzee', 'Staryu', 'Timburr', 'Trapinch', 'Tyrunt', 'Vulpix',
234
+ 'Abra', 'Carvanha', 'Croagunk', 'Diglett-Base', 'Dwebble', 'Ferroseed', 'Foongus', 'Frillish', 'Grookey',
235
+ 'Koffing', 'Larvesta', 'Magnemite', 'Mareanie', 'Mienfoo', 'Mudbray', 'Munchlax', 'Natu', 'Onix', 'Pawniard',
236
+ 'Ponyta', 'Ponyta-Galar', 'Porygon', 'Slowpoke-Base', 'Staryu', 'Timburr', 'Trapinch', 'Tyrunt', 'Vulpix',
237
237
  // LC UUBL
238
238
  'Farfetch\u2019d-Galar', 'Scorbunny', 'Shellder', 'Wingull',
239
239
  ],
@@ -277,6 +277,20 @@ exports.Formats = [
277
277
  searchShow: false,
278
278
  ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
279
279
  },
280
+ {
281
+ name: "[Gen 8] Test Your Luck!",
282
+ threads: [
283
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3695144/">Test Your Luck! Discussion</a>`,
284
+ ],
285
+ mod: 'gen8',
286
+ ruleset: ['Flat Rules', '!! Adjust Level = 50', 'VGC Timer', 'Min Source Gen = 8'],
287
+ banlist: ['Azelf', 'Mesprit', 'Uxie'],
288
+ onValidateSet(set, format) {
289
+ if (set.moves.length !== 1 || this.dex.moves.get(set.moves[0]).id !== 'metronome') {
290
+ return [`${set.name || set.species} has illegal moves.`, `(${format.name} only allows the move Metronome)`];
291
+ }
292
+ },
293
+ },
280
294
  {
281
295
  name: "[Gen 8] Custom Game",
282
296
  mod: 'gen8',
@@ -341,6 +355,13 @@ exports.Formats = [
341
355
  ruleset: ['Standard Doubles', 'Little Cup', 'Dynamax Clause', 'Swagger Clause', 'Sleep Clause Mod'],
342
356
  banlist: ['Corsola-Galar', 'Cutiefly', 'Ponyta-Base', 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Vulpix', 'Vulpix-Alola'],
343
357
  },
358
+ {
359
+ name: "[Gen 8] VGC 2022",
360
+ mod: 'gen8',
361
+ gameType: 'doubles',
362
+ ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer', 'Limit Two Restricted'],
363
+ restricted: ['Restricted Legendary'],
364
+ },
344
365
  {
345
366
  name: "[Gen 8] VGC 2021 Series 11",
346
367
  threads: [
@@ -353,22 +374,6 @@ exports.Formats = [
353
374
  ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer', 'Limit One Restricted'],
354
375
  restricted: ['Restricted Legendary'],
355
376
  },
356
- {
357
- name: "[Gen 8] Tiny Tourney",
358
- threads: [
359
- `&bullet; <a href="https://www.smogon.com/forums/threads/3694047/">Tiny Tourney Metagame Discussion</a>`,
360
- ],
361
- mod: 'gen8',
362
- gameType: 'doubles',
363
- ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
364
- onValidateSet(set) {
365
- const species = this.dex.species.get(set.species);
366
- if (!species.nfe || species.prevo)
367
- return [`Non-first-stage Pok\u00e9mon cannot be used in Tiny Tourney.`];
368
- if (species.heightm > 1)
369
- return [`${species.name} is too tall to be used in Tiny Tourney.`];
370
- },
371
- },
372
377
  {
373
378
  name: "[Gen 8] VGC 2021 Series 9",
374
379
  mod: 'gen8',
@@ -488,11 +493,10 @@ exports.Formats = [
488
493
  ruleset: ['[Gen 8] National Dex'],
489
494
  banlist: [
490
495
  // National Dex OU
491
- 'Blaziken', 'Blissey', 'Chansey', 'Charizard-Mega-X', 'Charizard-Mega-Y', 'Clefable', 'Corviknight', 'Diancie-Mega',
492
- 'Excadrill', 'Ferrothorn', 'Garchomp', 'Gliscor', 'Greninja', 'Heatran', 'Kartana', 'Kommo-o', 'Kyurem', 'Landorus-Therian',
493
- 'Lopunny-Mega', 'Magnezone', 'Mawile-Mega', 'Medicham-Mega', 'Pelipper', 'Rillaboom', 'Scizor-Mega', 'Serperior',
494
- 'Slowbro-Base', 'Swampert-Mega', 'Tapu Fini', 'Tapu Koko', 'Tapu Lele', 'Toxapex', 'Tyranitar', 'Victini', 'Volcarona',
495
- 'Weavile', 'Zapdos-Base',
496
+ 'Blissey', 'Chansey', 'Charizard-Mega-X', 'Charizard-Mega-Y', 'Clefable', 'Corviknight', 'Diancie-Mega', 'Excadrill',
497
+ 'Ferrothorn', 'Garchomp', 'Gliscor', 'Greninja', 'Heatran', 'Kartana', 'Kommo-o', 'Kyurem', 'Landorus-Therian', 'Lopunny-Mega',
498
+ 'Magnezone', 'Mawile-Mega', 'Pelipper', 'Rillaboom', 'Scizor-Mega', 'Serperior', 'Slowbro-Base', 'Swampert-Mega', 'Tapu Fini',
499
+ 'Tapu Koko', 'Tapu Lele', 'Toxapex', 'Tyranitar', 'Victini', 'Volcarona', 'Weavile', 'Zapdos-Base',
496
500
  'ND UUBL',
497
501
  'Drizzle', 'Drought',
498
502
  // Slowbronite is banned so it doesn't validate on Galarian Slowbro
@@ -500,10 +504,12 @@ exports.Formats = [
500
504
  ],
501
505
  // Used to distinguish UU from below UU in the client
502
506
  restricted: [
503
- 'Absol-Mega', 'Aegislash', 'Alomomola', 'Altaria-Mega', 'Amoonguss', 'Beedrill-Mega', 'Bisharp', 'Breloom', 'Celesteela',
504
- 'Donphan', 'Dragonite', 'Hippowdon', 'Infernape', 'Keldeo', 'Krookodile', 'Mandibuzz', 'Manectric-Mega', 'Melmetal', 'Mew',
505
- 'Moltres-Base', 'Porygon2', 'Regieleki', 'Rotom-Heat', 'Rotom-Wash', 'Scizor', 'Skarmory', 'Slowking', 'Slowking-Galar',
506
- 'Swampert-Base', 'Tangrowth', 'Umbreon', 'Urshifu-Rapid-Strike',
507
+ 'Aegislash', 'Alakazam-Base', 'Altaria-Mega', 'Amoonguss', 'Beedrill-Mega', 'Blaziken-Base', 'Breloom', 'Celesteela',
508
+ 'Chandelure', 'Donphan', 'Dracozolt', 'Dragonite', 'Feraligatr', 'Gastrodon', 'Hatterene', 'Hippowdon', 'Infernape',
509
+ 'Keldeo', 'Krookodile', 'Mamoswine', 'Mandibuzz', 'Manectric-Mega', 'Medicham-Mega', 'Melmetal', 'Mienshao', 'Moltres-Base',
510
+ 'Nidoking', 'Nidoqueen', 'Nihilego', 'Quagsire', 'Regieleki', 'Ribombee', 'Rotom-Heat', 'Rotom-Wash', 'Salamence',
511
+ 'Scizor', 'Skarmory', 'Slowking-Base', 'Swampert-Base', 'Talonflame', 'Tangrowth', 'Tornadus-Base', 'Umbreon',
512
+ 'Urshifu-Rapid-Strike',
507
513
  ],
508
514
  },
509
515
  {
@@ -586,36 +592,81 @@ exports.Formats = [
586
592
  column: 2,
587
593
  },
588
594
  {
589
- name: "[Gen 8] Revelationmons",
590
- 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).`,
595
+ name: "[Gen 8] Pokebilities",
596
+ desc: `Pok&eacute;mon have all of their released abilities simultaneously.`,
591
597
  threads: [
592
- `&bullet; <a href="https://www.smogon.com/forums/threads/3692297/">Revelationmons</a>`,
598
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3679692/">Pok&eacute;bilities</a>`,
593
599
  ],
594
- mod: 'gen8',
595
- ruleset: ['Standard', 'Dynamax Clause', 'Revelationmons Mod', 'Sleep Moves Clause'],
600
+ mod: 'pokebilities',
601
+ ruleset: ['Standard', 'Dynamax Clause'],
596
602
  banlist: [
597
- 'Barraskewda', 'Blacephalon', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Dragapult',
598
- 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kommo-o', 'Kyogre', 'Kyurem-Black', 'Kyurem-White',
599
- 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane',
600
- 'Noivern', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian',
601
- 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody', 'Power Construct',
602
- 'Shadow Tag', 'King\'s Rock', 'Baton Pass',
603
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Eternatus', 'Excadrill',
604
+ 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base',
605
+ 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia',
606
+ 'Pheromosa', 'Porygon-Z', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian',
607
+ 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom', 'Zygarde-Base', 'Power Construct', 'Baton Pass',
608
+ // Moody users
609
+ 'Glalie', 'Octillery', 'Remoraid', 'Snorunt',
610
+ // Shadow Tag/Arena Trap
611
+ 'Diglett-Base', 'Dugtrio-Base', 'Gothita', 'Gothitelle', 'Gothorita', 'Trapinch', 'Wobbuffet', 'Wynaut',
603
612
  ],
604
- restricted: ['Bolt Beak', 'U-turn', 'Volt Switch'],
613
+ onBegin() {
614
+ for (const pokemon of this.getAllPokemon()) {
615
+ if (pokemon.ability === this.toID(pokemon.species.abilities['S'])) {
616
+ continue;
617
+ }
618
+ pokemon.m.innates = Object.keys(pokemon.species.abilities)
619
+ .filter(key => key !== 'S' && (key !== 'H' || !pokemon.species.unreleasedHidden))
620
+ .map(key => this.toID(pokemon.species.abilities[key]))
621
+ .filter(ability => ability !== pokemon.ability);
622
+ }
623
+ },
624
+ onSwitchInPriority: 2,
625
+ onSwitchIn(pokemon) {
626
+ if (pokemon.m.innates) {
627
+ for (const innate of pokemon.m.innates) {
628
+ pokemon.addVolatile("ability:" + innate, pokemon);
629
+ }
630
+ }
631
+ },
632
+ onAfterMega(pokemon) {
633
+ for (const innate of Object.keys(pokemon.volatiles).filter(i => i.startsWith('ability:'))) {
634
+ pokemon.removeVolatile(innate);
635
+ }
636
+ pokemon.m.innates = undefined;
637
+ },
605
638
  },
606
639
  {
607
- name: "[Gen 8 BDSP] Balanced Hackmons",
608
- desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
640
+ name: "[Gen 8] Camomons",
641
+ desc: `Pok&eacute;mon change type to match their first two moves.`,
609
642
  threads: [
610
- `&bullet; <a href="https://www.smogon.com/forums/posts/9043074">BDSP Balanced Hackmons</a>`,
643
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3656413/">Camomons</a>`,
611
644
  ],
612
- mod: 'gen8bdsp',
613
- ruleset: ['-Nonexistent', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Moves Clause', 'Endless Battle Clause'],
645
+ mod: 'gen8',
646
+ // searchShow: false,
647
+ 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'],
614
648
  banlist: [
615
- 'Shedinja', 'Arena Trap', 'Contrary', 'Gorilla Tactics', 'Huge Power', 'Illusion', 'Innards Out', 'Intrepid Sword',
616
- 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble',
617
- 'Wonder Guard', 'Comatose + Sleep Talk', 'Shell Smash',
649
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin',
650
+ 'Groudon', 'Ho-Oh', 'Hydreigon', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Latias', 'Latios', 'Lugia',
651
+ 'Lunala', 'Marshadow', 'Mew', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram',
652
+ 'Reuniclus', 'Shedinja', 'Slowking-Galar', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Volcarona', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
653
+ 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass',
618
654
  ],
655
+ onModifySpeciesPriority: 2,
656
+ onModifySpecies(species, target, source, effect) {
657
+ if (!target)
658
+ return; // Chat command
659
+ if (effect && ['imposter', 'transform'].includes(effect.id))
660
+ return;
661
+ const types = [...new Set(target.baseMoveSlots.slice(0, 2).map(move => this.dex.moves.get(move.id).type))];
662
+ return { ...species, types: types };
663
+ },
664
+ onSwitchIn(pokemon) {
665
+ this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
666
+ },
667
+ onAfterMega(pokemon) {
668
+ this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
669
+ },
619
670
  },
620
671
  // Other Metagames
621
672
  ///////////////////////////////////////////////////////////////////
@@ -731,13 +782,13 @@ exports.Formats = [
731
782
  mod: 'gen8',
732
783
  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'],
733
784
  banlist: [
734
- 'Archeops', 'Buzzwole', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Gengar', 'Giratina', 'Giratina-Origin',
735
- 'Groudon', 'Ho-Oh', 'Kartana', 'Keldeo', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mewtwo',
736
- 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia', 'Pheromosa', 'Rayquaza', 'Regigigas', 'Reshiram', 'Shedinja', 'Solgaleo', 'Spectrier',
737
- 'Urshifu-Base', 'Urshifu-Rapid-Strike', 'Victini', 'Weavile', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom', 'Zeraora', 'Zygarde-Base',
738
- 'Arena Trap', 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter', 'Innards Out', 'Intrepid Sword',
739
- 'Libero', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Poison Heal', 'Power Construct', 'Protean', 'Pure Power', 'Shadow Tag', 'Simple', 'Stakeout',
740
- 'Speed Boost', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
785
+ 'Archeops', 'Blacephalon', 'Buzzwole', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Gengar', 'Giratina',
786
+ 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Keldeo', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow',
787
+ 'Melmetal', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia', 'Pheromosa', 'Rayquaza', 'Regigigas', 'Reshiram', 'Shedinja',
788
+ 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Urshifu-Rapid-Strike', 'Victini', 'Weavile', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom',
789
+ 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter',
790
+ 'Innards Out', 'Intrepid Sword', 'Libero', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Poison Heal', 'Power Construct', 'Protean', 'Pure Power',
791
+ 'Shadow Tag', 'Simple', 'Stakeout', 'Speed Boost', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
741
792
  ],
742
793
  onValidateSet(set) {
743
794
  // Temporary fix until battle-only is implemented properly
@@ -791,7 +842,7 @@ exports.Formats = [
791
842
  `&bullet; <a href="https://www.smogon.com/forums/threads/3660461/">Godly Gift</a>`,
792
843
  ],
793
844
  mod: 'gen8',
794
- ruleset: ['Standard', 'Dynamax Clause'],
845
+ ruleset: ['Standard', 'Dynamax Clause', 'Sleep Moves Clause'],
795
846
  banlist: [
796
847
  'Blissey', 'Calyrex-Shadow', 'Chansey', 'Dragapult', 'Hawlucha', 'Marowak-Alola', 'Melmetal', 'Pikachu', 'Toxapex',
797
848
  'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power', 'Moody', 'Pure Power',
@@ -904,6 +955,12 @@ exports.Formats = [
904
955
  ruleset: ['[Gen 8 BDSP] OU'],
905
956
  banlist: ['OU', 'UUBL'],
906
957
  },
958
+ {
959
+ name: "[Gen 8 BDSP] RU",
960
+ mod: 'gen8bdsp',
961
+ ruleset: ['[Gen 8 BDSP] UU'],
962
+ banlist: ['UU', 'RUBL'],
963
+ },
907
964
  {
908
965
  name: "[Gen 8 BDSP] Monotype",
909
966
  threads: [
@@ -925,6 +982,14 @@ exports.Formats = [
925
982
  searchShow: false,
926
983
  ruleset: ['[Gen 8 BDSP] OU', '+CAP'],
927
984
  },
985
+ {
986
+ name: "[Gen 8 BDSP] 3v3 Singles",
987
+ threads: [
988
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3695092/">BDSP 3v3 Singles</a>`,
989
+ ],
990
+ mod: 'gen8bdsp',
991
+ ruleset: ['Flat Rules', 'Min Source Gen = 8'],
992
+ },
928
993
  {
929
994
  name: "[Gen 8 BDSP] Doubles OU",
930
995
  threads: [
@@ -958,38 +1023,6 @@ exports.Formats = [
958
1023
  section: "Challengeable OMs",
959
1024
  column: 2,
960
1025
  },
961
- {
962
- name: "[Gen 8] Camomons",
963
- desc: `Pok&eacute;mon change type to match their first two moves.`,
964
- threads: [
965
- `&bullet; <a href="https://www.smogon.com/forums/threads/3656413/">Camomons</a>`,
966
- ],
967
- mod: 'gen8',
968
- searchShow: false,
969
- 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'],
970
- banlist: [
971
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon',
972
- 'Ho-Oh', 'Hydreigon', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Latias', 'Latios', 'Lugia', 'Lunala', 'Marshadow',
973
- 'Mew', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Reuniclus', 'Shedinja',
974
- 'Slowking-Galar', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom',
975
- 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass',
976
- ],
977
- onModifySpeciesPriority: 2,
978
- onModifySpecies(species, target, source, effect) {
979
- if (!target)
980
- return; // Chat command
981
- if (effect && ['imposter', 'transform'].includes(effect.id))
982
- return;
983
- const types = [...new Set(target.baseMoveSlots.slice(0, 2).map(move => this.dex.moves.get(move.id).type))];
984
- return { ...species, types: types };
985
- },
986
- onSwitchIn(pokemon) {
987
- this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
988
- },
989
- onAfterMega(pokemon) {
990
- this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
991
- },
992
- },
993
1026
  {
994
1027
  name: "[Gen 8] Inheritance",
995
1028
  desc: `Pok&eacute;mon may use the ability and moves of another, as long as they forfeit their own learnset.`,
@@ -1995,47 +2028,37 @@ exports.Formats = [
1995
2028
  column: 3,
1996
2029
  },
1997
2030
  {
1998
- name: "[Gen 1] UU",
1999
- threads: [
2000
- `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU Metagame Discussion</a>`,
2001
- `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Rankings</a>`,
2002
- ],
2003
- mod: 'gen1',
2031
+ name: "[Gen 2] UU",
2032
+ threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3576710/">GSC UU</a>`],
2033
+ mod: 'gen2',
2004
2034
  // searchShow: false,
2005
- ruleset: ['[Gen 1] OU'],
2035
+ ruleset: ['[Gen 2] OU'],
2006
2036
  banlist: ['OU', 'UUBL'],
2007
2037
  },
2008
2038
  {
2009
- name: "[Gen 6] 1v1",
2010
- desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
2039
+ name: "[Gen 5] NU",
2011
2040
  threads: [
2012
- `&bullet; <a href="https://www.smogon.com/forums/posts/8031459/">ORAS 1v1</a>`,
2041
+ `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2042
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3484121/">BW2 NU Viability Rankings</a>`,
2013
2043
  ],
2014
- mod: 'gen6',
2044
+ mod: 'gen5',
2015
2045
  // searchShow: false,
2016
- ruleset: [
2017
- 'Max Team Size = 3', 'Picked Team Size = 1',
2018
- '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',
2019
- ],
2020
- banlist: [
2021
- 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2022
- 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2023
- 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2024
- 'Focus Sash', 'Soul Dew', 'Perish Song',
2025
- ],
2046
+ ruleset: ['[Gen 5] RU', '!Sleep Moves Clause', 'Sleep Clause Mod'],
2047
+ banlist: ['RU', 'NUBL', 'Assist', 'Copycat'],
2026
2048
  },
2027
2049
  {
2028
- name: "[Gen 5] Doubles OU",
2050
+ name: "[Gen 5] LC",
2029
2051
  threads: [
2030
- `&bullet; <a href="https://www.smogon.com/forums/threads/3606719/">BW2 Doubles Metagame Discussion</a>`,
2031
- `&bullet; <a href="https://www.smogon.com/forums/posts/7393048/">BW2 Doubles Viability Rankings</a>`,
2032
- `&bullet; <a href="https://www.smogon.com/forums/posts/7393081/">BW2 Doubles Sample Teams</a>`,
2052
+ `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2053
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3485860/">BW2 LC Viability Rankings</a>`,
2033
2054
  ],
2034
2055
  mod: 'gen5',
2035
- gameType: 'doubles',
2036
2056
  // searchShow: false,
2037
- ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2038
- banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity'],
2057
+ ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause'],
2058
+ banlist: [
2059
+ 'Gligar', 'Meditite', 'Misdreavus', 'Murkrow', 'Scraggy', 'Scyther', 'Sneasel', 'Tangela', 'Vulpix', 'Yanma',
2060
+ 'Sand Rush', 'Sand Veil', 'Berry Juice', 'Soul Dew', 'Baton Pass', 'Dragon Rage', 'Sonic Boom', 'Swagger',
2061
+ ],
2039
2062
  },
2040
2063
  // Past Gens OU
2041
2064
  ///////////////////////////////////////////////////////////////////
@@ -2094,7 +2117,7 @@ exports.Formats = [
2094
2117
  ],
2095
2118
  mod: 'gen3',
2096
2119
  ruleset: ['Standard', 'One Boost Passer Clause'],
2097
- banlist: ['Uber', 'Sand Veil', 'Smeargle + Ingrain'],
2120
+ banlist: ['Uber', 'Sand Veil', 'Assist', 'Smeargle + Ingrain'],
2098
2121
  },
2099
2122
  {
2100
2123
  name: "[Gen 2] OU",
@@ -2622,6 +2645,25 @@ exports.Formats = [
2622
2645
  'Soul Dew', 'Baton Pass',
2623
2646
  ],
2624
2647
  },
2648
+ {
2649
+ name: "[Gen 6] 1v1",
2650
+ desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
2651
+ threads: [
2652
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8031459/">ORAS 1v1</a>`,
2653
+ ],
2654
+ mod: 'gen6',
2655
+ searchShow: false,
2656
+ ruleset: [
2657
+ 'Max Team Size = 3', 'Picked Team Size = 1',
2658
+ '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',
2659
+ ],
2660
+ banlist: [
2661
+ 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2662
+ 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2663
+ 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2664
+ 'Focus Sash', 'Soul Dew', 'Perish Song',
2665
+ ],
2666
+ },
2625
2667
  {
2626
2668
  name: "[Gen 6] Anything Goes",
2627
2669
  threads: [
@@ -2801,17 +2843,6 @@ exports.Formats = [
2801
2843
  banlist: ['UU', 'RUBL', 'Shadow Tag', 'Shell Smash + Baton Pass'],
2802
2844
  unbanlist: ['Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
2803
2845
  },
2804
- {
2805
- name: "[Gen 5] NU",
2806
- threads: [
2807
- `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2808
- `&bullet; <a href="https://www.smogon.com/forums/threads/3484121/">BW2 NU Viability Rankings</a>`,
2809
- ],
2810
- mod: 'gen5',
2811
- searchShow: false,
2812
- ruleset: ['[Gen 5] RU', '!Sleep Moves Clause', 'Sleep Clause Mod'],
2813
- banlist: ['RU', 'NUBL', 'Assist', 'Copycat'],
2814
- },
2815
2846
  {
2816
2847
  name: "[Gen 5] PU",
2817
2848
  threads: [
@@ -2822,20 +2853,6 @@ exports.Formats = [
2822
2853
  ruleset: ['[Gen 5] NU', 'Sleep Moves Clause'],
2823
2854
  banlist: ['NU', 'Combusken', 'Gothorita', 'Linoone', 'Riolu', 'Rotom-Frost', 'Simipour', 'Throh', 'Vigoroth'],
2824
2855
  },
2825
- {
2826
- name: "[Gen 5] LC",
2827
- threads: [
2828
- `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2829
- `&bullet; <a href="https://www.smogon.com/forums/threads/3485860/">BW2 LC Viability Rankings</a>`,
2830
- ],
2831
- mod: 'gen5',
2832
- searchShow: false,
2833
- ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause'],
2834
- banlist: [
2835
- 'Gligar', 'Meditite', 'Misdreavus', 'Murkrow', 'Scraggy', 'Scyther', 'Sneasel', 'Tangela', 'Vulpix', 'Yanma',
2836
- 'Sand Rush', 'Sand Veil', 'Berry Juice', 'Soul Dew', 'Baton Pass', 'Dragon Rage', 'Sonic Boom', 'Swagger',
2837
- ],
2838
- },
2839
2856
  {
2840
2857
  name: "[Gen 5] Monotype",
2841
2858
  desc: `All the Pok&eacute;mon on a team must share a type.`,
@@ -2883,6 +2900,19 @@ exports.Formats = [
2883
2900
  section: 'B2/W2 Doubles',
2884
2901
  column: 4,
2885
2902
  },
2903
+ {
2904
+ name: "[Gen 5] Doubles OU",
2905
+ threads: [
2906
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3606719/">BW2 Doubles Metagame Discussion</a>`,
2907
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7393048/">BW2 Doubles Viability Rankings</a>`,
2908
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7393081/">BW2 Doubles Sample Teams</a>`,
2909
+ ],
2910
+ mod: 'gen5',
2911
+ gameType: 'doubles',
2912
+ searchShow: false,
2913
+ ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2914
+ banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity'],
2915
+ },
2886
2916
  {
2887
2917
  name: "[Gen 5] VGC 2013",
2888
2918
  mod: 'gen5',
@@ -3009,7 +3039,7 @@ exports.Formats = [
3009
3039
  'Picked Team Size = 1', 'Max Team Size = 3',
3010
3040
  '[Gen 4] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview',
3011
3041
  ],
3012
- banlist: ['Latias', 'Machamp', 'Porygon-Z', 'Snorlax', 'Togekiss', 'Focus Sash', 'Destiny Bond', 'Explosion', 'Perish Song', 'Self-Destruct'],
3042
+ banlist: ['Latias', 'Machamp', 'Porygon-Z', 'Shaymin', 'Snorlax', 'Togekiss', 'Focus Sash', 'Destiny Bond', 'Explosion', 'Perish Song', 'Self-Destruct'],
3013
3043
  unbanlist: ['Wobbuffet', 'Wynaut', 'Sand Veil'],
3014
3044
  },
3015
3045
  {
@@ -3161,14 +3191,6 @@ exports.Formats = [
3161
3191
  searchShow: false,
3162
3192
  ruleset: ['Standard'],
3163
3193
  },
3164
- {
3165
- name: "[Gen 2] UU",
3166
- threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3576710/">GSC UU</a>`],
3167
- mod: 'gen2',
3168
- searchShow: false,
3169
- ruleset: ['[Gen 2] OU'],
3170
- banlist: ['OU', 'UUBL'],
3171
- },
3172
3194
  {
3173
3195
  name: "[Gen 2] NU",
3174
3196
  threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3642565/">GSC NU</a>`],
@@ -3229,6 +3251,17 @@ exports.Formats = [
3229
3251
  searchShow: false,
3230
3252
  ruleset: ['Standard'],
3231
3253
  },
3254
+ {
3255
+ name: "[Gen 1] UU",
3256
+ threads: [
3257
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU Metagame Discussion</a>`,
3258
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Rankings</a>`,
3259
+ ],
3260
+ mod: 'gen1',
3261
+ searchShow: false,
3262
+ ruleset: ['[Gen 1] OU'],
3263
+ banlist: ['OU', 'UUBL'],
3264
+ },
3232
3265
  {
3233
3266
  name: "[Gen 1] NU",
3234
3267
  threads: [