@pkmn/sim 0.5.14 → 0.5.17

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.
Files changed (127) hide show
  1. package/build/config/formats.js +167 -174
  2. package/build/config/formats.js.map +1 -1
  3. package/build/data/aliases.js +2 -2
  4. package/build/data/aliases.js.map +1 -1
  5. package/build/data/conditions.js +4 -1
  6. package/build/data/conditions.js.map +1 -1
  7. package/build/data/formats-data.js +3 -3
  8. package/build/data/formats-data.js.map +1 -1
  9. package/build/data/items.js +5 -5
  10. package/build/data/items.js.map +1 -1
  11. package/build/data/learnsets.js +7 -6
  12. package/build/data/learnsets.js.map +1 -1
  13. package/build/data/mods/gen1/formats-data.js +1 -1
  14. package/build/data/mods/gen1/formats-data.js.map +1 -1
  15. package/build/data/mods/gen1/moves.js +1 -4
  16. package/build/data/mods/gen1/moves.js.map +1 -1
  17. package/build/data/mods/gen1/scripts.js +1 -1
  18. package/build/data/mods/gen1/scripts.js.map +1 -1
  19. package/build/data/mods/gen2/items.js +28 -0
  20. package/build/data/mods/gen2/items.js.map +1 -1
  21. package/build/data/mods/gen2/moves.js +2 -5
  22. package/build/data/mods/gen2/moves.js.map +1 -1
  23. package/build/data/mods/gen3/items.js +28 -0
  24. package/build/data/mods/gen3/items.js.map +1 -1
  25. package/build/data/mods/gen3/moves.js +0 -10
  26. package/build/data/mods/gen3/moves.js.map +1 -1
  27. package/build/data/mods/gen3/scripts.js +2 -2
  28. package/build/data/mods/gen3/scripts.js.map +1 -1
  29. package/build/data/mods/gen4/abilities.js +20 -0
  30. package/build/data/mods/gen4/abilities.js.map +1 -1
  31. package/build/data/mods/gen4/items.js +28 -0
  32. package/build/data/mods/gen4/items.js.map +1 -1
  33. package/build/data/mods/gen4/moves.js +17 -10
  34. package/build/data/mods/gen4/moves.js.map +1 -1
  35. package/build/data/mods/gen4/rulesets.js +2 -1
  36. package/build/data/mods/gen4/rulesets.js.map +1 -1
  37. package/build/data/mods/gen5/items.js +0 -4
  38. package/build/data/mods/gen5/items.js.map +1 -1
  39. package/build/data/mods/gen5/rulesets.js +2 -1
  40. package/build/data/mods/gen5/rulesets.js.map +1 -1
  41. package/build/data/mods/gen6/items.js +24 -0
  42. package/build/data/mods/gen6/items.js.map +1 -1
  43. package/build/data/mods/gen7/abilities.js +31 -0
  44. package/build/data/mods/gen7/abilities.js.map +1 -1
  45. package/build/data/mods/gen7/formats-data.js +4 -4
  46. package/build/data/mods/gen7/formats-data.js.map +1 -1
  47. package/build/data/mods/gen7/items.js +12 -0
  48. package/build/data/mods/gen7/items.js.map +1 -1
  49. package/build/data/mods/gen7/moves.js +14 -0
  50. package/build/data/mods/gen7/moves.js.map +1 -1
  51. package/build/data/mods/gen7/rulesets.js +2 -1
  52. package/build/data/mods/gen7/rulesets.js.map +1 -1
  53. package/build/data/moves.js +84 -91
  54. package/build/data/moves.js.map +1 -1
  55. package/build/data/pokedex.js +2 -2
  56. package/build/data/pokedex.js.map +1 -1
  57. package/build/data/rulesets.js +74 -4
  58. package/build/data/rulesets.js.map +1 -1
  59. package/build/data/tags.js +3 -3
  60. package/build/data/tags.js.map +1 -1
  61. package/build/data/text/items.js +1 -0
  62. package/build/data/text/items.js.map +1 -1
  63. package/build/data/text/moves.js +13 -11
  64. package/build/data/text/moves.js.map +1 -1
  65. package/build/sim/battle-actions.js +12 -4
  66. package/build/sim/battle-actions.js.map +1 -1
  67. package/build/sim/battle-queue.d.ts +2 -2
  68. package/build/sim/battle-queue.js +8 -0
  69. package/build/sim/battle-queue.js.map +1 -1
  70. package/build/sim/battle.js +85 -7
  71. package/build/sim/battle.js.map +1 -1
  72. package/build/sim/dex-conditions.d.ts +3 -2
  73. package/build/sim/dex-conditions.js.map +1 -1
  74. package/build/sim/dex-moves.d.ts +2 -1
  75. package/build/sim/dex-moves.js.map +1 -1
  76. package/build/sim/exported-global-types.d.ts +1 -0
  77. package/build/sim/global-types.d.ts +1 -0
  78. package/build/sim/pokemon.js +18 -5
  79. package/build/sim/pokemon.js.map +1 -1
  80. package/build/sim/team-validator.js +16 -5
  81. package/build/sim/team-validator.js.map +1 -1
  82. package/build/sim/tools/exhaustive-runner.d.ts +8 -0
  83. package/build/sim/tools/exhaustive-runner.js +18 -7
  84. package/build/sim/tools/exhaustive-runner.js.map +1 -1
  85. package/config/formats.ts +172 -179
  86. package/data/aliases.ts +2 -2
  87. package/data/conditions.ts +4 -1
  88. package/data/formats-data.ts +3 -3
  89. package/data/items.ts +5 -5
  90. package/data/learnsets.ts +7 -6
  91. package/data/mods/gen1/formats-data.ts +1 -1
  92. package/data/mods/gen1/moves.ts +1 -4
  93. package/data/mods/gen1/scripts.ts +1 -1
  94. package/data/mods/gen2/items.ts +28 -0
  95. package/data/mods/gen2/moves.ts +2 -5
  96. package/data/mods/gen3/items.ts +28 -0
  97. package/data/mods/gen3/moves.ts +0 -10
  98. package/data/mods/gen3/scripts.ts +3 -3
  99. package/data/mods/gen4/abilities.ts +20 -0
  100. package/data/mods/gen4/items.ts +28 -0
  101. package/data/mods/gen4/moves.ts +16 -11
  102. package/data/mods/gen4/rulesets.ts +2 -1
  103. package/data/mods/gen5/items.ts +0 -4
  104. package/data/mods/gen5/rulesets.ts +2 -1
  105. package/data/mods/gen6/items.ts +24 -0
  106. package/data/mods/gen7/abilities.ts +31 -0
  107. package/data/mods/gen7/formats-data.ts +4 -4
  108. package/data/mods/gen7/items.ts +12 -0
  109. package/data/mods/gen7/moves.ts +14 -0
  110. package/data/mods/gen7/rulesets.ts +2 -1
  111. package/data/moves.ts +84 -81
  112. package/data/pokedex.ts +2 -2
  113. package/data/rulesets.ts +73 -6
  114. package/data/tags.ts +3 -3
  115. package/data/text/items.ts +2 -0
  116. package/data/text/moves.ts +14 -11
  117. package/package.json +2 -2
  118. package/sim/battle-actions.ts +16 -5
  119. package/sim/battle-queue.ts +10 -2
  120. package/sim/battle.ts +81 -7
  121. package/sim/dex-conditions.ts +7 -2
  122. package/sim/dex-moves.ts +2 -1
  123. package/sim/exported-global-types.ts +3 -0
  124. package/sim/global-types.ts +3 -0
  125. package/sim/pokemon.ts +19 -7
  126. package/sim/team-validator.ts +17 -5
  127. package/sim/tools/exhaustive-runner.ts +29 -11
@@ -193,7 +193,8 @@ exports.Formats = [
193
193
  'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Dialga', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Jirachi',
194
194
  'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mew', 'Mewtwo', 'Mimikyu', 'Necrozma', 'Necrozma-Dawn-Wings',
195
195
  'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza', 'Reshiram', 'Sableye', 'Snorlax', 'Solgaleo', 'Victini', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
196
- 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Moody', 'Power Construct', 'Bright Powder', 'Focus Band', 'Focus Sash', 'Lax Incense', 'Quick Claw', 'Perish Song',
196
+ 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Moody', 'Power Construct', 'Bright Powder', 'Focus Band', 'Focus Sash', 'Lax Incense', 'Quick Claw',
197
+ 'Acupressure', 'Hypnosis', 'Perish Song', 'Sing',
197
198
  ],
198
199
  },
199
200
  {
@@ -235,7 +236,7 @@ exports.Formats = [
235
236
  'Larvesta', 'Magby', 'Magnemite', 'Mareanie', 'Mienfoo', 'Mudbray', 'Munchlax', 'Natu', 'Onix', 'Pawniard',
236
237
  'Ponyta', 'Ponyta-Galar', 'Porygon', 'Slowpoke-Base', 'Staryu', 'Timburr', 'Trapinch', 'Tyrunt',
237
238
  // LC UUBL
238
- 'Farfetch\u2019d-Galar', 'Scorbunny', 'Shellder', 'Wingull',
239
+ 'Archen', 'Farfetch\u2019d-Galar', 'Scorbunny', 'Shellder', 'Wingull',
239
240
  ],
240
241
  },
241
242
  {
@@ -329,7 +330,7 @@ exports.Formats = [
329
330
  gameType: 'doubles',
330
331
  searchShow: false,
331
332
  ruleset: ['Standard Doubles', 'Little Cup', 'Dynamax Clause', 'Swagger Clause', 'Sleep Clause Mod'],
332
- banlist: ['Corsola-Galar', 'Cutiefly', 'Ponyta-Base', 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Vulpix', 'Vulpix-Alola', 'Ally Switch'],
333
+ banlist: ['Corsola-Galar', 'Cutiefly', 'Ponyta-Base', 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Vulpix-Base', 'Ally Switch'],
333
334
  },
334
335
  {
335
336
  name: "[Gen 8] VGC 2022",
@@ -370,10 +371,10 @@ exports.Formats = [
370
371
  'Standard Doubles', 'Accuracy Moves Clause', 'Dynamax Clause', 'Sleep Clause Mod',
371
372
  ],
372
373
  banlist: [
373
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Jirachi', 'Kyogre',
374
- 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mewtwo', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia',
375
- 'Rayquaza', 'Reshiram', 'Solgaleo', 'Tornadus-Base', 'Urshifu-Base', 'Urshifu-Rapid-Strike', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
376
- 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Moody', 'Power Construct', 'Focus Sash', 'Ally Switch', 'Final Gambit', 'Perish Song', 'Swagger',
374
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Jirachi', 'Kyogre', 'Kyurem-White',
375
+ 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mewtwo', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza', 'Reshiram',
376
+ 'Solgaleo', 'Tornadus-Base', 'Urshifu-Base', 'Urshifu-Rapid-Strike', 'Whimsicott', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta',
377
+ 'Zamazenta-Crowned', 'Zekrom', 'Moody', 'Power Construct', 'Focus Sash', 'Ally Switch', 'Final Gambit', 'Perish Song', 'Swagger',
377
378
  ],
378
379
  },
379
380
  {
@@ -469,7 +470,7 @@ exports.Formats = [
469
470
  'Magnezone', 'Mawile-Mega', 'Pelipper', 'Rillaboom', 'Scizor-Mega', 'Serperior', 'Slowbro-Base', 'Swampert-Mega', 'Tapu Fini',
470
471
  'Tapu Koko', 'Tapu Lele', 'Toxapex', 'Tyranitar', 'Victini', 'Volcarona', 'Weavile', 'Zapdos-Base',
471
472
  'ND UUBL',
472
- 'Drizzle', 'Drought',
473
+ 'Drizzle', 'Drought', 'Light Clay',
473
474
  // Slowbronite is banned so it doesn't validate on Galarian Slowbro
474
475
  'Slowbronite',
475
476
  ],
@@ -515,61 +516,41 @@ exports.Formats = [
515
516
  section: "Pet Mods",
516
517
  },
517
518
  {
518
- name: "[Gen 8] Alternatium",
519
- desc: `A metagame made up of only Pokémon with alternate forms, with all of them being separate and unique.`,
519
+ name: "[Gen 8] Restrictions",
520
+ desc: `A metagame made up of brand new Pokémon that are made according to various random and non-random restrictions.`,
520
521
  threads: [
521
- `&bullet; <a href="https://www.smogon.com/forums/threads/3683767/">Alternatium</a>`,
522
- `&bullet; <a href="https://docs.google.com/spreadsheets/d/1bvvkPg1CrUBJFJJeuwkts8elfJcEcahGOoHm-vGBXOI/edit?usp=sharing">Spreadsheet</a>`,
522
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3673824/">Restrictions</a>`,
523
+ `&bullet; <a href="https://docs.google.com/spreadsheets/d/1XsplBqN8njHZJT9cTP_3i3YSFITB9WaVfNOYAbNY75M/edit?usp=sharing">Spreadsheet</a>`,
523
524
  ],
524
- mod: 'alternatium',
525
- ruleset: ['Standard NatDex', 'Z-Move Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Dynamax Clause', 'Sleep Clause Mod'],
525
+ mod: 'restrictions',
526
+ ruleset: ['Standard', 'Dynamax Clause'],
526
527
  banlist: ['All Pokemon', 'Past'],
527
528
  unbanlist: [
528
- 'Silvally', 'Silvally-Bug', 'Silvally-Dark', 'Silvally-Dragon', 'Silvally-Electric', 'Silvally-Fairy', 'Silvally-Fighting', 'Silvally-Fire', 'Silvally-Flying', 'Silvally-Ghost',
529
- 'Silvally-Grass', 'Silvally-Ground', 'Silvally-Ice', 'Silvally-Poison', 'Silvally-Psychic', 'Silvally-Rock', 'Silvally-Steel', 'Silvally-Water', 'Pikachu', 'Pikachu-Rock-Star',
530
- 'Pikachu-Belle', 'Pikachu-Idol', 'Pikachu-PhD', 'Pikachu-Libre', 'Pikachu-Partner', 'Pikachu-Starter', 'Darmanitan', 'Darmanitan-Zen', 'Darmanitan-Galar', 'Darmanitan-Galar-Zen',
531
- 'Aegishield', 'Aegislash', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Rotom', 'Rotom-Heat', 'Rotom-Wash', 'Rotom-Frost', 'Rotom-Fan', 'Rotom-Mow', 'Dugtrio',
532
- 'Dugtrio-Alola', 'Muk', 'Muk-Oilslick', 'Slowbro', 'Slowbro-Galar', 'Slowking', 'Slowking-Galar', 'Tornadus', 'Cummulus', 'Thundurus', 'Thundurus-Therian', 'Landorus', 'Landorus-Bengal',
533
- 'Vivillon-Fancy', 'Vivillon', 'Vivillon-Pokeball', 'Genesect', 'Genesect-Password', 'Genesect-Molten', 'Genesect-Freezer', 'Genesect-Type-Delta', 'Groudon', 'Groudon-Primal', 'Kyogre',
534
- 'Kyogre-Primal', 'Deoxys-Wood', 'Deoxys-Gem', 'Deoxys-Tank', 'Deoxys-Speed', 'Sandslash-Lustrous', 'Sandslash-Alola', 'Ninetales-Steamwork', 'Ninetales-Alola', 'Giratina', 'Giratina-Shadow',
535
- 'Eternatus', 'Manustorm', 'Exeggutor', 'Exeggutor-Lighthouse', 'Weezing', 'Weezing-King', 'Raticate', 'Raticate-Alola', 'Linoone', 'Linoone-Punk', 'Catastroform', 'Castform-Firestorm',
536
- 'Castform-Thunderstorm', 'Castform-Snowy', 'Wormadam', 'Wormadam-Sandy', 'Fibormadam', 'Farfetch\u2019d', 'Farfetch\u2019d-Galar', 'Corsola', 'Corsoul', 'Shaymin', 'Shaymin-Sky', 'Keldeo',
537
- 'Swordeo', 'Meloetta', 'Meloetta-Fighter', 'Lycanday', 'Lycanroc-Spectre', 'Lycanroc-Dusk', 'Gourgeist', 'Gourgeist-Fae', 'Gourgeist-Pulpy', 'Supergeist', 'Cramorant', 'Cramorant-Swimmer',
538
- 'Cramorant-Gorging', 'Eiscue', 'Eiscue-Noice', 'Mimikyu', 'Mimikyu-Sparkstone', 'Morpeko-Marsh', 'Morvilant', 'Zygarde-Wyrm', 'Zygarde-Canid', 'Zygarde-Goliath',
539
- ],
540
- onValidateTeam(team, format) {
541
- const speciesTable = new Set();
542
- for (const set of team) {
543
- const species = this.dex.species.get(set.species);
544
- if (speciesTable.has(species.id)) {
545
- return [
546
- `You are limited to one of each Pokémon by Species Clause (except for different formes).`,
547
- `(You have more than one ${species.id}.)`,
548
- ];
549
- }
550
- speciesTable.add(species.id);
551
- }
552
- },
529
+ 'Vulcaraptor', 'Parakinesis', 'Serpaint', 'Torgeist', 'Regolite', 'Polbearab', 'Centhorn', 'Donzyxote', 'Scimicobra', 'Folliclawe', 'Afloof', 'Nimbusteed',
530
+ 'Aerock', 'Borassa', 'Sharm', 'Nunopod', 'Crypterid', 'Abysseil', 'Faerenheit', 'Spiriteal', 'Zoltanka', 'Flydra', 'Coracrab', 'Quadringo', 'Teslaple',
531
+ 'Kapagon', 'Cyknight', 'Dirtoad', 'Crystelf', 'Rancourgar', 'Scalaron', 'Dragraceful', 'Tantrary', 'Modolith', 'Snailord', 'Arbrella', 'Draugelid',
532
+ 'Cinnastar', 'Refluse', 'Kelven', 'Kodokai', 'Cindarner', 'Thucotuco', 'Sorree', 'Gembezzle', 'Winterloper', 'Agapest', 'Volvolpa', 'Punduluum', 'Wraithful',
533
+ 'Panzarma', 'Krachiten', 'Cellsius', 'Borelem', 'Electangle', 'Orchile', 'Shinodori', 'Fluidrake', 'Potossum', 'Twygdrasill',
534
+ ],
553
535
  },
554
536
  {
555
- name: "[Gen 8] Random Dex",
556
- desc: `A micrometagame project consisting of 80 randomly selected fully-evolved Pok&eacute;mon.`,
537
+ name: "[Gen 8] Roulettemons Random Battle",
557
538
  threads: [
558
- `&bullet; <a href="https://www.smogon.com/forums/threads/3690182/">Random Dex</a>`,
559
- ],
560
- mod: 'randomdex',
561
- ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Dynamax Clause', 'Sleep Clause Mod'],
562
- banlist: ['All Pokemon', 'Past', 'Arena Trap', 'Moody', 'Shadow Tag', 'Baton Pass', 'Bright Powder', 'Lax Incense', 'King\'s Rock', 'Razor Fang', 'Kangaskhanite', 'Medichamite', 'Kommonium Z'],
563
- unbanlist: [
564
- 'Absol', 'Absol-Mega', 'Appletun', 'Articuno', 'Aurorus', 'Basculin', 'Beartic', 'Bisharp', 'Calyrex', 'Camerupt', 'Camerupt-Mega',
565
- 'Celesteela', 'Cloyster', 'Crawdaunt', 'Cursola', 'Dedenne', 'Delibird', 'Eelektross', 'Espeon', 'Flapple', 'Flareon', 'Flygon',
566
- 'Galvantula', 'Girafarig', 'Glaceon', 'Goodra', 'Gourgeist', 'Grimmsnarl', 'Guzzlord', 'Heliolisk', 'Hitmonchan', 'Hitmonlee',
567
- 'Hitmontop', 'Incineroar', 'Indeedee', 'Jolteon', 'Kangaskhan', 'Kommo-o', 'Lanturn', 'Leafeon', 'Leavanny', 'Ludicolo', 'Lunatone',
568
- 'Luvdisc', 'Machamp', 'Mandibuzz', 'Medicham', 'Nihilego', 'Palossand', 'Pidgeot', 'Pidgeot-Mega', 'Probopass', 'Pyroar', 'Sawk',
569
- 'Sceptile', 'Sceptile-Mega', 'Scolipede', 'Shiftry', 'Simisage', 'Slowbro', 'Slowbro-Mega', 'Slowking', 'Swoobat', 'Sylveon',
570
- 'Tapu Bulu', 'Tapu Fini', 'Tauros', 'Typhlosion', 'Umbreon', 'Ursaring', 'Vaporeon', 'Whiscash', 'Wishiwashi', 'Zebstrika', 'Absolite',
571
- 'Pidgeotite', 'Sceptilite', 'Cameruptite', 'Slowbronite',
539
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3649106/">Roulettemons</a>`,
540
+ `&bullet; <a href="https://docs.google.com/spreadsheets/d/1EOA1m7JXTq7Zz0ViVI4n6lBppFjVBa4S1GqhAwkPTZQ/edit?usp=sharing">Spreadsheet</a>`,
572
541
  ],
542
+ team: 'random',
543
+ mod: 'roulettemons',
544
+ ruleset: ['Standard NatDex'],
545
+ onSwitchIn(pokemon) {
546
+ this.add('-start', pokemon, 'typechange', pokemon.species.types.join('/'), '[silent]');
547
+ },
548
+ onChangeSet(set) {
549
+ if (set.species === 'Chillyte-Mega') {
550
+ set.species = 'Chillyte';
551
+ set.ability = 'Grassy Surge';
552
+ }
553
+ },
573
554
  },
574
555
  {
575
556
  name: "[Gen 6] NEXT OU",
@@ -589,40 +570,44 @@ exports.Formats = [
589
570
  column: 2,
590
571
  },
591
572
  {
592
- name: "[Gen 8] Sketchmons",
593
- desc: `Every Pok&eacute;mon gets a new move once.`,
573
+ name: "[Gen 8] Crazyhouse",
574
+ desc: `Pok&eacute;mon you KO are added to your team and removed from the opponent's, and vice versa.`,
594
575
  threads: [
595
- `&bullet; <a href="https://www.smogon.com/forums/threads/3680298/">Sketchmons</a>`,
576
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3699268/">Crazyhouse</a>`,
596
577
  ],
597
578
  mod: 'gen8',
598
- ruleset: ['Standard', 'Sketchmons Move Legality', 'Dynamax Clause'],
579
+ ruleset: ['Standard', 'Crazyhouse Rule', 'Dynamax Clause', 'Sleep Moves Clause', 'Evasion Abilities Clause', '!Sleep Clause Mod'],
599
580
  banlist: [
600
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus', 'Genesect', 'Giratina',
601
- 'Giratina-Origin', 'Groudon', 'Hawlucha', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala',
602
- 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Porygon-Z', 'Pheromosa', 'Rayquaza', 'Regieleki',
603
- 'Reshiram', 'Rillaboom', 'Shedinja', 'Solgaleo', 'Spectrier', 'Swoobat', 'Tapu Bulu', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
604
- 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody', 'Power Construct', 'Sand Rush',
605
- 'Shadow Tag', 'King\'s Rock', 'Baton Pass',
606
- ],
607
- restricted: [
608
- 'Acupressure', 'Astral Barrage', 'Belly Drum', 'Bolt Beak', 'Clangorous Soul', 'Double Iron Bash', 'Electrify', 'Extreme Speed', 'Fishious Rend',
609
- 'Geomancy', 'Glacial Lance', 'Lovely Kiss', 'No Retreat', 'Oblivion Wing', 'Octolock', 'Quiver Dance', 'Secret Sword', 'Shell Smash', 'Shift Gear',
610
- 'Sleep Powder', 'Spore', 'Thousand Arrows', 'Transform', 'V-create', 'Wicked Blow',
581
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Eternatus', 'Genesect', 'Giratina',
582
+ 'Giratina-Origin', 'Groudon', 'Hawlucha', 'Ho-Oh', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia',
583
+ 'Lunala', 'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa',
584
+ 'Rayquaza', 'Reshiram', 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta',
585
+ 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Bright Powder',
586
+ 'King\'s Rock', 'Lax Incense', 'Baton Pass', 'Explosion', 'Final Gambit', 'Healing Wish', 'Lunar Dance', 'Memento',
587
+ 'Misty Explosion', 'Self-Destruct',
611
588
  ],
612
589
  },
613
590
  {
614
- name: "[Gen 8] Flipped",
615
- desc: `Pok&eacute;mon have their base stats flipped.`,
591
+ name: "[Gen 8] Pokebilities AAA",
592
+ desc: `Pok&eacute;mon have all of their released abilities simultaneously alongside any additional ability.`,
616
593
  threads: [
617
- `&bullet; <a href="https://www.smogon.com/forums/threads/3662020/">Flipped</a>`,
594
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8821047">Pok&eacute;bilities AAA</a>`,
618
595
  ],
619
- mod: 'gen8',
620
- ruleset: ['Standard', 'Flipped Mod', 'Dynamax Clause'],
596
+ mod: 'pokebilities',
597
+ ruleset: ['[Gen 8] Pokebilities', '!Obtainable Abilities', 'AAA Restricted Abilities', '2 Ability Clause', 'Sleep Moves Clause', '!Sleep Clause Mod'],
621
598
  banlist: [
622
- 'Azumarill', 'Blissey', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre',
623
- 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Marshadow', 'Melmetal', 'Mewtwo', 'Necrozma-Dawn Wings', 'Necrozma-Dusk Mane', 'Palkia',
624
- 'Rayquaza', 'Reshiram', 'Solgaleo', 'Steelix', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom',
625
- 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Psychic Surge', 'Shadow Tag', 'Baton Pass', 'Psychic Terrain', 'Shell Smash',
599
+ 'Alakazam', 'Blacephalon', 'Buzzwole', 'Clefable', 'Dragapult', 'Dragonite', 'Gengar', 'Kartana', 'Keldeo', 'Kyurem', 'Melmetal', 'Mienshao',
600
+ 'Noivern', 'Obstagoon', 'Perrserker', 'Rillaboom', 'Tapu Lele', 'Urshifu', 'Urshifu-Rapid-Strike', 'Victini', 'Weavile', 'Zamazenta-Crowned',
601
+ 'Zapdos-Galar', 'Arena Trap', 'Moody', 'Shadow Tag', 'Wonder Guard', 'Chlorophyll + Desolate Land', 'Chlorophyll + Drought', 'Electric Surge + Surge Surfer',
602
+ 'Regenerator + Emergency Exit', 'Regenerator + Multiscale', 'Regenerator + Shadow Shield', 'Regenerator + Wimp Out', 'Sand Rush + Sand Stream',
603
+ 'Slush Rush + Snow Warning', 'Swift Swim + Drizzle', 'Swift Swim + Primordial Sea', 'Snow Cloak + Snow Warning', 'Sand Veil + Sand Stream',
604
+ 'Regenerator > 2', 'Bright Powder', 'Lax Incense', 'Quick Claw',
605
+ ],
606
+ restricted: [
607
+ 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter', 'Innards Out',
608
+ 'Intrepid Sword', 'Libero', 'Magnet Pull', 'Neutralizing Gas', 'Parental Bond', 'Poison Heal', 'Prankster', 'Protean', 'Pure Power',
609
+ 'Quick Draw', 'Sand Veil', 'Serene Grace', 'Simple', 'Snow Cloak', 'Speed Boost', 'Stakeout', 'Stench', 'Tinted Lens', 'Triage',
610
+ 'Unburden', 'Water Bubble',
626
611
  ],
627
612
  },
628
613
  // Other Metagames
@@ -647,25 +632,6 @@ exports.Formats = [
647
632
  'Water Bubble', 'Wonder Guard', 'Comatose + Sleep Talk', 'Rusted Sword', 'Court Change', 'Bolt Beak', 'Double Iron Bash',
648
633
  'Octolock', 'Shell Smash',
649
634
  ],
650
- onChangeSet(set) {
651
- const item = this.dex.toID(set.item);
652
- if (set.species === 'Zacian' && item === 'rustedsword') {
653
- set.species = 'Zacian-Crowned';
654
- set.ability = 'Intrepid Sword';
655
- const ironHead = set.moves.indexOf('ironhead');
656
- if (ironHead >= 0) {
657
- set.moves[ironHead] = 'behemothblade';
658
- }
659
- }
660
- if (set.species === 'Zamazenta' && item === 'rustedshield') {
661
- set.species = 'Zamazenta-Crowned';
662
- set.ability = 'Dauntless Shield';
663
- const ironHead = set.moves.indexOf('ironhead');
664
- if (ironHead >= 0) {
665
- set.moves[ironHead] = 'behemothbash';
666
- }
667
- }
668
- },
669
635
  },
670
636
  {
671
637
  name: "[Gen 8] Almost Any Ability",
@@ -686,15 +652,6 @@ exports.Formats = [
686
652
  'Innards Out', 'Intrepid Sword', 'Libero', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Poison Heal', 'Protean',
687
653
  'Pure Power', 'Shadow Tag', 'Simple', 'Stakeout', 'Speed Boost', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
688
654
  ],
689
- onValidateSet(set) {
690
- // Temporary fix until battle-only is implemented properly
691
- if (this.toID(set.species) === 'zamazentacrowned' && this.toID(set.ability) !== 'dauntlessshield') {
692
- return [`Zamazenta-Crowned can only use Dauntless Shield because it is a battle-only forme.`];
693
- }
694
- if (this.toID(set.species) === 'zaciancrowned' && this.toID(set.ability) !== 'intrepidsword') {
695
- return [`Zacian-Crowned can only use Intrepid Sword because it is a battle-only forme.`];
696
- }
697
- },
698
655
  },
699
656
  {
700
657
  name: "[Gen 8] Mix and Mega",
@@ -812,9 +769,9 @@ exports.Formats = [
812
769
  mod: 'gen8',
813
770
  ruleset: ['Standard', 'Dynamax Clause', 'Sleep Moves Clause'],
814
771
  banlist: [
815
- 'Blissey', 'Calyrex-Shadow', 'Chansey', 'Dragapult', 'Eternatus', 'Hawlucha', 'Marowak-Alola', 'Melmetal', 'Pikachu',
816
- 'Toxapex', 'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power', 'Moody',
817
- 'Pure Power', 'Shadow Tag', 'Swift Swim', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw',
772
+ 'Blissey', 'Calyrex-Shadow', 'Chansey', 'Crawdaunt', 'Dragapult', 'Eternatus', 'Hawlucha', 'Marowak-Alola', 'Melmetal',
773
+ 'Pikachu', 'Toxapex', 'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power',
774
+ 'Moody', 'Pure Power', 'Shadow Tag', 'Swift Swim', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw',
818
775
  'Baton Pass',
819
776
  ],
820
777
  onValidateTeam(team) {
@@ -866,9 +823,6 @@ exports.Formats = [
866
823
  const stat = Dex.stats.ids()[target.side.team.indexOf(target.set)];
867
824
  const newSpecies = this.dex.deepClone(species);
868
825
  let godSpecies = this.dex.species.get(god.species);
869
- if (godSpecies.forme === 'Crowned') {
870
- godSpecies = this.dex.species.get(godSpecies.changesFrom || godSpecies.baseSpecies);
871
- }
872
826
  if (typeof godSpecies.battleOnly === 'string') {
873
827
  godSpecies = this.dex.species.get(godSpecies.battleOnly);
874
828
  }
@@ -1739,6 +1693,17 @@ exports.Formats = [
1739
1693
  }
1740
1694
  }
1741
1695
  },
1696
+ onSwitchOut(pokemon) {
1697
+ for (const innate of Object.keys(pokemon.volatiles).filter(i => i.startsWith('ability:'))) {
1698
+ pokemon.removeVolatile(innate);
1699
+ }
1700
+ },
1701
+ onFaint(pokemon) {
1702
+ for (const innate of Object.keys(pokemon.volatiles).filter(i => i.startsWith('ability:'))) {
1703
+ const innateEffect = this.dex.conditions.get(innate);
1704
+ this.singleEvent('End', innateEffect, null, pokemon);
1705
+ }
1706
+ },
1742
1707
  onAfterMega(pokemon) {
1743
1708
  for (const innate of Object.keys(pokemon.volatiles).filter(i => i.startsWith('ability:'))) {
1744
1709
  pokemon.removeVolatile(innate);
@@ -2351,37 +2316,33 @@ exports.Formats = [
2351
2316
  column: 3,
2352
2317
  },
2353
2318
  {
2354
- name: "[Gen 5] UU",
2319
+ name: "[Gen 6] UU",
2355
2320
  threads: [
2356
- `&bullet; <a href="https://www.smogon.com/forums/threads/3474024/">BW2 UU Viability Rankings</a>`,
2357
- `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2321
+ `&bullet; <a href="https://www.smogon.com/dex/xy/formats/uu/">ORAS UU Banlist</a>`,
2322
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3598164/">ORAS UU Viability Rankings</a>`,
2358
2323
  ],
2359
- mod: 'gen5',
2324
+ mod: 'gen6',
2360
2325
  // searchShow: false,
2361
- ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2362
- banlist: ['Uber', 'OU', 'UUBL', 'Arena Trap', 'Drought', 'Sand Stream', 'Snow Warning', 'Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
2326
+ ruleset: ['[Gen 6] OU'],
2327
+ banlist: ['OU', 'UUBL', 'Drizzle', 'Drought'],
2363
2328
  },
2364
2329
  {
2365
- name: "[Gen 5] NU",
2366
- threads: [
2367
- `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2368
- `&bullet; <a href="https://www.smogon.com/forums/threads/3484121/">BW2 NU Viability Rankings</a>`,
2369
- ],
2370
- mod: 'gen5',
2330
+ name: "[Gen 4] Anything Goes",
2331
+ mod: 'gen4',
2371
2332
  // searchShow: false,
2372
- ruleset: ['[Gen 5] RU', '!Sleep Moves Clause', 'Sleep Clause Mod'],
2373
- banlist: ['RU', 'NUBL', 'Assist', 'Copycat'],
2333
+ ruleset: ['Obtainable', 'Arceus EV Limit', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod'],
2374
2334
  },
2375
2335
  {
2376
- name: "[Gen 6] PU",
2336
+ name: "[Gen 7] RU",
2377
2337
  threads: [
2378
- `&bullet; <a href="https://www.smogon.com/dex/xy/tags/pu/">ORAS PU Banlist</a>`,
2379
- `&bullet; <a href="https://www.smogon.com/forums/threads/3528743/">ORAS PU Viability Rankings</a>`,
2338
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3645338/">USM RU Sample Teams</a>`,
2339
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3645873/">USM RU Viability Rankings</a>`,
2380
2340
  ],
2381
- mod: 'gen6',
2341
+ mod: 'gen7',
2382
2342
  // searchShow: false,
2383
- ruleset: ['[Gen 6] NU'],
2384
- banlist: ['NU', 'PUBL', 'Chatter'],
2343
+ ruleset: ['[Gen 7] UU'],
2344
+ banlist: ['UU', 'RUBL', 'Mimikyu', 'Aurora Veil'],
2345
+ unbanlist: ['Drought'],
2385
2346
  },
2386
2347
  // Past Gens OU
2387
2348
  ///////////////////////////////////////////////////////////////////
@@ -2440,7 +2401,7 @@ exports.Formats = [
2440
2401
  ],
2441
2402
  mod: 'gen3',
2442
2403
  ruleset: ['Standard', 'One Boost Passer Clause'],
2443
- banlist: ['Uber', 'Sand Veil', 'Soundproof', 'Assist', 'Baton Pass + Mean Look', 'Baton Pass + Spider Web', 'Smeargle + Ingrain'],
2404
+ banlist: ['Uber', 'Sand Veil', 'Soundproof', 'Assist', 'Baton Pass + Block', 'Baton Pass + Mean Look', 'Baton Pass + Spider Web', 'Smeargle + Ingrain'],
2444
2405
  },
2445
2406
  {
2446
2407
  name: "[Gen 2] OU",
@@ -2579,20 +2540,11 @@ exports.Formats = [
2579
2540
  name: "[Gen 6] Pure Hackmons",
2580
2541
  desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
2581
2542
  threads: [
2582
- `&bullet; <a href="https://www.smogon.com/forums/posts/8111004/">ORAS Pure Hackmons</a>`,
2543
+ `&bullet; <a href="https://www.smogon.com/forums/posts/9029427/">ORAS Pure Hackmons</a>`,
2583
2544
  ],
2584
2545
  mod: 'gen6',
2585
2546
  ruleset: ['-Nonexistent', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause', 'EV limit = 510'],
2586
2547
  },
2587
- {
2588
- name: "[Gen 5] ZU",
2589
- threads: [
2590
- `&bullet; <a href="https://www.smogon.com/forums/posts/8034680/">BW2 ZU</a>`,
2591
- ],
2592
- mod: 'gen5',
2593
- ruleset: ['[Gen 5] PU'],
2594
- banlist: ['PU', 'Dragonair', 'Glalie', 'Machoke', 'Marowak', 'Omanyte', 'Regigigas', 'Trubbish', 'Whirlipede', 'Baton Pass'],
2595
- },
2596
2548
  // US/UM Singles
2597
2549
  ///////////////////////////////////////////////////////////////////
2598
2550
  {
@@ -2620,18 +2572,6 @@ exports.Formats = [
2620
2572
  ruleset: ['[Gen 7] OU'],
2621
2573
  banlist: ['OU', 'UUBL', 'Drizzle', 'Drought', 'Kommonium Z', 'Mewnium Z'],
2622
2574
  },
2623
- {
2624
- name: "[Gen 7] RU",
2625
- threads: [
2626
- `&bullet; <a href="https://www.smogon.com/forums/threads/3645338/">USM RU Sample Teams</a>`,
2627
- `&bullet; <a href="https://www.smogon.com/forums/threads/3645873/">USM RU Viability Rankings</a>`,
2628
- ],
2629
- mod: 'gen7',
2630
- searchShow: false,
2631
- ruleset: ['[Gen 7] UU'],
2632
- banlist: ['UU', 'RUBL', 'Mimikyu', 'Aurora Veil'],
2633
- unbanlist: ['Drought'],
2634
- },
2635
2575
  {
2636
2576
  name: "[Gen 7] NU",
2637
2577
  threads: [
@@ -2730,7 +2670,7 @@ exports.Formats = [
2730
2670
  searchShow: false,
2731
2671
  ruleset: ['[Gen 7] PU'],
2732
2672
  banlist: [
2733
- 'PU', 'Carracosta', 'Crabominable', 'Gorebyss', 'Jynx', 'Raticate-Alola',
2673
+ 'PU', 'Carracosta', 'Crabominable', 'Exeggutor-Base', 'Gorebyss', 'Jynx', 'Raticate-Alola',
2734
2674
  'Shiftry', 'Throh', 'Turtonator', 'Type: Null', 'Ursaring', 'Victreebel',
2735
2675
  ],
2736
2676
  },
@@ -2901,17 +2841,6 @@ exports.Formats = [
2901
2841
  searchShow: false,
2902
2842
  ruleset: ['Standard', 'Swagger Clause', 'Mega Rayquaza Clause'],
2903
2843
  },
2904
- {
2905
- name: "[Gen 6] UU",
2906
- threads: [
2907
- `&bullet; <a href="https://www.smogon.com/dex/xy/formats/uu/">ORAS UU Banlist</a>`,
2908
- `&bullet; <a href="https://www.smogon.com/forums/threads/3598164/">ORAS UU Viability Rankings</a>`,
2909
- ],
2910
- mod: 'gen6',
2911
- searchShow: false,
2912
- ruleset: ['[Gen 6] OU'],
2913
- banlist: ['OU', 'UUBL', 'Drizzle', 'Drought'],
2914
- },
2915
2844
  {
2916
2845
  name: "[Gen 6] RU",
2917
2846
  threads: [
@@ -2934,6 +2863,17 @@ exports.Formats = [
2934
2863
  ruleset: ['[Gen 6] RU'],
2935
2864
  banlist: ['RU', 'NUBL'],
2936
2865
  },
2866
+ {
2867
+ name: "[Gen 6] PU",
2868
+ threads: [
2869
+ `&bullet; <a href="https://www.smogon.com/dex/xy/tags/pu/">ORAS PU Banlist</a>`,
2870
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3528743/">ORAS PU Viability Rankings</a>`,
2871
+ ],
2872
+ mod: 'gen6',
2873
+ searchShow: false,
2874
+ ruleset: ['[Gen 6] NU'],
2875
+ banlist: ['NU', 'PUBL', 'Chatter'],
2876
+ },
2937
2877
  {
2938
2878
  name: "[Gen 6] LC",
2939
2879
  threads: [
@@ -2958,8 +2898,8 @@ exports.Formats = [
2958
2898
  searchShow: false,
2959
2899
  ruleset: ['Standard', 'Swagger Clause', 'Same Type Clause'],
2960
2900
  banlist: [
2961
- 'Aegislash', 'Altaria-Mega', 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Genesect', 'Gengar-Mega',
2962
- 'Giratina', 'Giratina-Origin', 'Greninja', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White',
2901
+ 'Aegislash', 'Altaria-Mega', 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Speed', 'Dialga', 'Genesect',
2902
+ 'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Greninja', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White',
2963
2903
  'Lucario-Mega', 'Lugia', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Sableye-Mega',
2964
2904
  'Salamence-Mega', 'Shaymin-Sky', 'Slowbro-Mega', 'Talonflame', 'Xerneas', 'Yveltal', 'Zekrom',
2965
2905
  'Shadow Tag', 'Bright Powder', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw', 'Razor Fang', 'Smooth Rock',
@@ -2982,8 +2922,8 @@ exports.Formats = [
2982
2922
  banlist: [
2983
2923
  'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2984
2924
  'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2985
- 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2986
- 'Focus Sash', 'Soul Dew', 'Grass Whistle', 'Hypnosis', 'Perish Song', 'Sing', 'Yawn',
2925
+ 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Snorlax', 'Xerneas', 'Yveltal',
2926
+ 'Zekrom', 'Focus Sash', 'Soul Dew', 'Grass Whistle', 'Hypnosis', 'Perish Song', 'Sing', 'Yawn',
2987
2927
  ],
2988
2928
  },
2989
2929
  {
@@ -2996,6 +2936,17 @@ exports.Formats = [
2996
2936
  searchShow: false,
2997
2937
  ruleset: ['Obtainable', 'Team Preview', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod'],
2998
2938
  },
2939
+ {
2940
+ name: "[Gen 6] ZU",
2941
+ threads: [
2942
+ `&bullet; <a href="https://www.smogon.com/dex/xy/formats/zu/">ORAS ZU Banlist</a>`,
2943
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8034679/">ORAS ZU Viability Rankings</a>`,
2944
+ ],
2945
+ mod: 'gen6',
2946
+ searchShow: false,
2947
+ ruleset: ['[Gen 6] PU'],
2948
+ banlist: ['PU', 'Fraxure', 'Regigigas', 'Simisear'],
2949
+ },
2999
2950
  {
3000
2951
  name: "[Gen 6] CAP",
3001
2952
  threads: [
@@ -3142,6 +3093,17 @@ exports.Formats = [
3142
3093
  searchShow: false,
3143
3094
  ruleset: ['Standard', 'Sleep Clause Mod'],
3144
3095
  },
3096
+ {
3097
+ name: "[Gen 5] UU",
3098
+ threads: [
3099
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3474024/">BW2 UU Viability Rankings</a>`,
3100
+ `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
3101
+ ],
3102
+ mod: 'gen5',
3103
+ searchShow: false,
3104
+ ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
3105
+ banlist: ['Uber', 'OU', 'UUBL', 'Arena Trap', 'Drought', 'Sand Stream', 'Snow Warning', 'Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
3106
+ },
3145
3107
  {
3146
3108
  name: "[Gen 5] RU",
3147
3109
  threads: [
@@ -3154,6 +3116,17 @@ exports.Formats = [
3154
3116
  banlist: ['UU', 'RUBL', 'Shadow Tag', 'Shell Smash + Baton Pass'],
3155
3117
  unbanlist: ['Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
3156
3118
  },
3119
+ {
3120
+ name: "[Gen 5] NU",
3121
+ threads: [
3122
+ `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
3123
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3484121/">BW2 NU Viability Rankings</a>`,
3124
+ ],
3125
+ mod: 'gen5',
3126
+ searchShow: false,
3127
+ ruleset: ['[Gen 5] RU', '!Sleep Moves Clause', 'Sleep Clause Mod'],
3128
+ banlist: ['RU', 'NUBL', 'Assist', 'Copycat'],
3129
+ },
3157
3130
  {
3158
3131
  name: "[Gen 5] PU",
3159
3132
  threads: [
@@ -3203,6 +3176,16 @@ exports.Formats = [
3203
3176
  banlist: ['Uber', 'Cottonee', 'Dragonite', 'Jirachi', 'Kyurem-Black', 'Mew', 'Togekiss', 'Whimsicott', 'Victini', 'Bright Powder', 'Focus Band', 'Focus Sash', 'Lax Incense', 'Quick Claw', 'Soul Dew', 'Perish Song'],
3204
3177
  unbanlist: ['Genesect', 'Landorus', 'Manaphy', 'Thundurus', 'Tornadus-Therian'],
3205
3178
  },
3179
+ {
3180
+ name: "[Gen 5] ZU",
3181
+ threads: [
3182
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8034680/">BW2 ZU</a>`,
3183
+ ],
3184
+ mod: 'gen5',
3185
+ searchShow: false,
3186
+ ruleset: ['[Gen 5] PU'],
3187
+ banlist: ['PU', 'Articuno', 'Dragonair', 'Glalie', 'Machoke', 'Marowak', 'Omanyte', 'Regigigas', 'Trubbish', 'Whirlipede', 'Baton Pass'],
3188
+ },
3206
3189
  {
3207
3190
  name: "[Gen 5] GBU Singles",
3208
3191
  mod: 'gen5',
@@ -3368,10 +3351,20 @@ exports.Formats = [
3368
3351
  unbanlist: ['Wobbuffet', 'Wynaut', 'Sand Veil', 'Swagger'],
3369
3352
  },
3370
3353
  {
3371
- name: "[Gen 4] Anything Goes",
3354
+ name: "[Gen 4] ZU",
3355
+ threads: [
3356
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8034681/">DPP ZU</a>`,
3357
+ ],
3372
3358
  mod: 'gen4',
3373
3359
  searchShow: false,
3374
- ruleset: ['Obtainable', 'Arceus EV Limit', 'Endless Battle Clause', 'HP Percentage Mod', 'Cancel Mod'],
3360
+ ruleset: ['[Gen 4] PU'],
3361
+ banlist: [
3362
+ 'Ampharos', 'Armaldo', 'Bellossom', 'Dragonair', 'Electabuzz', 'Gabite', 'Gastrodon', 'Glaceon', 'Glalie',
3363
+ 'Golduck', 'Gorebyss', 'Hippopotas', 'Kadabra', 'Machoke', 'Magmar', 'Mantine', 'Marowak', 'Metang',
3364
+ 'Misdreavus', 'Monferno', 'Mr. Mime', 'Muk', 'Murkrow', 'Pinsir', 'Politoed', 'Purugly', 'Quagsire',
3365
+ 'Raichu', 'Rampardos', 'Rapidash', 'Regigigas', 'Relicanth', 'Rhydon', 'Scyther', 'Sneasel', 'Snover',
3366
+ 'Solrock', 'Tangela', 'Torkoal', 'Victreebel', 'Xatu', 'Zangoose', 'Damp Rock',
3367
+ ],
3375
3368
  },
3376
3369
  {
3377
3370
  name: "[Gen 4] Custom Game",