@pkmn/sim 0.5.1 → 0.5.5

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 (88) hide show
  1. package/build/config/formats.js +373 -289
  2. package/build/config/formats.js.map +1 -1
  3. package/build/data/abilities.js +5 -1
  4. package/build/data/abilities.js.map +1 -1
  5. package/build/data/aliases.js +2 -2
  6. package/build/data/aliases.js.map +1 -1
  7. package/build/data/formats-data.js +91 -92
  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 +1 -1
  12. package/build/data/learnsets.js.map +1 -1
  13. package/build/data/mods/gen1/formats-data.js +190 -190
  14. package/build/data/mods/gen1/formats-data.js.map +1 -1
  15. package/build/data/mods/gen1/moves.js +1 -2
  16. package/build/data/mods/gen1/moves.js.map +1 -1
  17. package/build/data/mods/gen1/scripts.js +12 -0
  18. package/build/data/mods/gen1/scripts.js.map +1 -1
  19. package/build/data/mods/gen2/formats-data.js +2 -2
  20. package/build/data/mods/gen2/formats-data.js.map +1 -1
  21. package/build/data/mods/gen3/formats-data.js +12 -12
  22. package/build/data/mods/gen3/formats-data.js.map +1 -1
  23. package/build/data/mods/gen4/moves.js +22 -0
  24. package/build/data/mods/gen4/moves.js.map +1 -1
  25. package/build/data/mods/gen5/formats-data.js +172 -155
  26. package/build/data/mods/gen5/formats-data.js.map +1 -1
  27. package/build/data/mods/gen6/formats-data.js +1 -1
  28. package/build/data/mods/gen7/formats-data.js +1 -1
  29. package/build/data/mods/gen7/formats-data.js.map +1 -1
  30. package/build/data/mods/gen7/moves.js +154 -0
  31. package/build/data/mods/gen7/moves.js.map +1 -1
  32. package/build/data/moves.js +47 -20
  33. package/build/data/moves.js.map +1 -1
  34. package/build/data/pokedex.js +3 -3
  35. package/build/data/pokedex.js.map +1 -1
  36. package/build/data/rulesets.js +48 -5
  37. package/build/data/rulesets.js.map +1 -1
  38. package/build/data/tags.d.ts +1 -0
  39. package/build/data/tags.js +4 -3
  40. package/build/data/tags.js.map +1 -1
  41. package/build/data/text/abilities.js +4 -4
  42. package/build/data/text/abilities.js.map +1 -1
  43. package/build/data/text/moves.js +19 -19
  44. package/build/data/text/moves.js.map +1 -1
  45. package/build/sim/battle-actions.js +12 -4
  46. package/build/sim/battle-actions.js.map +1 -1
  47. package/build/sim/dex-formats.d.ts +1 -0
  48. package/build/sim/dex-formats.js +3 -2
  49. package/build/sim/dex-formats.js.map +1 -1
  50. package/build/sim/exported-global-types.d.ts +1 -0
  51. package/build/sim/global-types.d.ts +1 -0
  52. package/build/sim/index.d.ts +1 -0
  53. package/build/sim/index.js +3 -1
  54. package/build/sim/index.js.map +1 -1
  55. package/build/sim/pokemon.js +1 -1
  56. package/build/sim/pokemon.js.map +1 -1
  57. package/build/sim/team-validator.js +16 -0
  58. package/build/sim/team-validator.js.map +1 -1
  59. package/config/formats.ts +379 -292
  60. package/data/abilities.ts +3 -1
  61. package/data/aliases.ts +2 -2
  62. package/data/formats-data.ts +91 -92
  63. package/data/items.ts +5 -5
  64. package/data/learnsets.ts +1 -1
  65. package/data/mods/gen1/formats-data.ts +190 -190
  66. package/data/mods/gen1/moves.ts +1 -2
  67. package/data/mods/gen1/scripts.ts +11 -0
  68. package/data/mods/gen2/formats-data.ts +2 -2
  69. package/data/mods/gen3/formats-data.ts +12 -12
  70. package/data/mods/gen4/moves.ts +21 -0
  71. package/data/mods/gen5/formats-data.ts +172 -155
  72. package/data/mods/gen6/formats-data.ts +1 -1
  73. package/data/mods/gen7/formats-data.ts +1 -1
  74. package/data/mods/gen7/moves.ts +150 -0
  75. package/data/moves.ts +46 -20
  76. package/data/pokedex.ts +3 -3
  77. package/data/rulesets.ts +44 -6
  78. package/data/tags.ts +6 -3
  79. package/data/text/abilities.ts +4 -4
  80. package/data/text/moves.ts +19 -19
  81. package/package.json +2 -2
  82. package/sim/battle-actions.ts +12 -4
  83. package/sim/dex-formats.ts +4 -1
  84. package/sim/exported-global-types.ts +1 -0
  85. package/sim/global-types.ts +1 -0
  86. package/sim/index.ts +1 -0
  87. package/sim/pokemon.ts +1 -1
  88. package/sim/team-validator.ts +15 -0
@@ -80,7 +80,10 @@ exports.Formats = [
80
80
  ],
81
81
  mod: 'gen8',
82
82
  ruleset: ['Standard', 'Dynamax Clause'],
83
- banlist: ['Uber', 'AG', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'King\'s Rock', 'Baton Pass'],
83
+ banlist: [
84
+ 'Uber', 'AG', 'Arena Trap', 'Moody', 'Power Construct', 'Sand Veil', 'Shadow Tag', 'Snow Cloak',
85
+ 'Bright Powder', 'King\'s Rock', 'Lax Incense', 'Baton Pass',
86
+ ],
84
87
  },
85
88
  {
86
89
  name: "[Gen 8] OU (Blitz)",
@@ -129,7 +132,7 @@ exports.Formats = [
129
132
  ],
130
133
  mod: 'gen8',
131
134
  ruleset: ['[Gen 8] RU'],
132
- banlist: ['RU', 'NUBL', 'Drizzle', 'Drought'],
135
+ banlist: ['RU', 'NUBL', 'Drizzle', 'Drought', 'Slush Rush'],
133
136
  },
134
137
  {
135
138
  name: "[Gen 8] PU",
@@ -190,7 +193,7 @@ exports.Formats = [
190
193
  'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Dialga', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Jirachi',
191
194
  'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mew', 'Mewtwo', 'Mimikyu', 'Necrozma-Dawn-Wings',
192
195
  'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza', 'Reshiram', 'Sableye', 'Snorlax', 'Solgaleo', 'Victini', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
193
- 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Moody', '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', 'Perish Song',
194
197
  ],
195
198
  },
196
199
  {
@@ -214,7 +217,7 @@ exports.Formats = [
214
217
  mod: 'gen8',
215
218
  ruleset: ['[Gen 8] PU'],
216
219
  banlist: [
217
- 'PU', 'Centiskorch', 'Drampa', 'Exeggutor-Alola', 'Gallade', 'Haunter', 'Magmortar', 'Magneton', 'Omastar', 'Rotom-Frost',
220
+ 'PU', 'Aurorus', 'Centiskorch', 'Drampa', 'Exeggutor-Alola', 'Gallade', 'Haunter', 'Magmortar', 'Magneton', 'Omastar', 'Rotom-Frost',
218
221
  'Turtonator', 'Vanilluxe', 'Vikavolt', 'Silvally-Dragon', 'Silvally-Ground', 'Sneasel', 'Damp Rock', 'Grassy Seed',
219
222
  ],
220
223
  },
@@ -228,9 +231,9 @@ exports.Formats = [
228
231
  ruleset: ['[Gen 8] LC'],
229
232
  banlist: [
230
233
  // LC OU
231
- 'Abra', 'Archen', 'Carvanha', 'Diglett-Base', 'Dwebble', 'Ferroseed', 'Foongus', 'Frillish', 'Grookey', 'Koffing',
232
- 'Larvesta', 'Magnemite', 'Mareanie', 'Mienfoo', 'Mudbray', 'Munchlax', 'Natu', 'Onix', 'Pawniard', 'Ponyta',
233
- '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',
234
237
  // LC UUBL
235
238
  'Farfetch\u2019d-Galar', 'Scorbunny', 'Shellder', 'Wingull',
236
239
  ],
@@ -265,14 +268,11 @@ exports.Formats = [
265
268
  restricted: ['Restricted Legendary'],
266
269
  },
267
270
  {
268
- name: "[Gen 8] Battle Stadium Singles Series 9",
269
- threads: [
270
- `&bullet; <a href="https://www.smogon.com/forums/threads/3679374/">BSS Discussion</a>`,
271
- `&bullet; <a href="https://www.smogon.com/forums/threads/3672698/">BSS Viability Rankings</a>`,
272
- ],
271
+ name: "[Gen 8] Battle Stadium Singles Series 12",
273
272
  mod: 'gen8',
274
273
  searchShow: false,
275
- ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
274
+ ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'Limit Two Restricted'],
275
+ restricted: ['Restricted Legendary'],
276
276
  },
277
277
  {
278
278
  name: "[Gen 8] Custom Game",
@@ -338,6 +338,13 @@ exports.Formats = [
338
338
  ruleset: ['Standard Doubles', 'Little Cup', 'Dynamax Clause', 'Swagger Clause', 'Sleep Clause Mod'],
339
339
  banlist: ['Corsola-Galar', 'Cutiefly', 'Ponyta-Base', 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Vulpix', 'Vulpix-Alola'],
340
340
  },
341
+ {
342
+ name: "[Gen 8] VGC 2022",
343
+ mod: 'gen8',
344
+ gameType: 'doubles',
345
+ ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer', 'Limit Two Restricted'],
346
+ restricted: ['Restricted Legendary'],
347
+ },
341
348
  {
342
349
  name: "[Gen 8] VGC 2021 Series 11",
343
350
  threads: [
@@ -350,22 +357,6 @@ exports.Formats = [
350
357
  ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer', 'Limit One Restricted'],
351
358
  restricted: ['Restricted Legendary'],
352
359
  },
353
- {
354
- name: "[Gen 8] Tiny Tourney",
355
- threads: [
356
- `&bullet; <a href="https://www.smogon.com/forums/threads/3694047/">Tiny Tourney Metagame Discussion</a>`,
357
- ],
358
- mod: 'gen8',
359
- gameType: 'doubles',
360
- ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
361
- onValidateSet(set) {
362
- const species = this.dex.species.get(set.species);
363
- if (!species.nfe || species.prevo)
364
- return [`Non-first-stage Pok\u00e9mon cannot be used in Tiny Tourney.`];
365
- if (species.heightm > 1)
366
- return [`${species.name} is too tall to be used in Tiny Tourney.`];
367
- },
368
- },
369
360
  {
370
361
  name: "[Gen 8] VGC 2021 Series 9",
371
362
  mod: 'gen8',
@@ -465,13 +456,15 @@ exports.Formats = [
465
456
  mod: 'gen8',
466
457
  ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Dynamax Clause', 'Sleep Clause Mod'],
467
458
  banlist: [
468
- 'Alakazam-Mega', 'Arceus', 'Blastoise-Mega', 'Blaziken-Mega', 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darkrai', 'Darmanitan-Galar',
469
- 'Deoxys-Attack', 'Deoxys-Base', 'Deoxys-Speed', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus', 'Genesect', 'Gengar-Mega', 'Giratina',
470
- 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lucario-Mega',
471
- 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Metagross-Mega', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane',
472
- 'Necrozma-Ultra', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Tornadus-Therian',
473
- 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Zygarde-Complete',
474
- 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Quick Claw', 'Baton Pass',
459
+ 'Alakazam-Mega', 'Arceus', 'Blastoise-Mega', 'Blaziken-Mega', 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darkrai',
460
+ 'Darmanitan-Galar', 'Deoxys-Attack', 'Deoxys-Base', 'Deoxys-Speed', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus',
461
+ 'Genesect', 'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-Black',
462
+ 'Kyurem-White', 'Landorus-Base', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Metagross-Mega', 'Mewtwo',
463
+ 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Necrozma-Ultra', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram',
464
+ 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian',
465
+ 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Zygarde-Complete', 'Arena Trap', 'Moody',
466
+ 'Power Construct', 'Sand Veil', 'Shadow Tag', 'Snow Cloak', 'Bright Powder', 'King\'s Rock', 'Lax Incense', 'Razor Fang',
467
+ 'Quick Claw', 'Baton Pass',
475
468
  ],
476
469
  },
477
470
  {
@@ -485,11 +478,10 @@ exports.Formats = [
485
478
  ruleset: ['[Gen 8] National Dex'],
486
479
  banlist: [
487
480
  // National Dex OU
488
- 'Blaziken', 'Blissey', 'Chansey', 'Charizard-Mega-X', 'Charizard-Mega-Y', 'Clefable', 'Corviknight', 'Diancie-Mega',
489
- 'Excadrill', 'Ferrothorn', 'Garchomp', 'Gliscor', 'Greninja', 'Heatran', 'Kartana', 'Kommo-o', 'Kyurem', 'Landorus-Therian',
490
- 'Lopunny-Mega', 'Magnezone', 'Mawile-Mega', 'Medicham-Mega', 'Pelipper', 'Rillaboom', 'Scizor-Mega', 'Serperior',
491
- 'Slowbro-Base', 'Swampert-Mega', 'Tapu Fini', 'Tapu Koko', 'Tapu Lele', 'Toxapex', 'Tyranitar', 'Victini', 'Volcarona',
492
- 'Weavile', 'Zapdos-Base',
481
+ 'Blissey', 'Chansey', 'Charizard-Mega-X', 'Charizard-Mega-Y', 'Clefable', 'Corviknight', 'Diancie-Mega', 'Excadrill',
482
+ 'Ferrothorn', 'Garchomp', 'Gliscor', 'Greninja', 'Heatran', 'Kartana', 'Kommo-o', 'Kyurem', 'Landorus-Therian', 'Lopunny-Mega',
483
+ 'Magnezone', 'Mawile-Mega', 'Pelipper', 'Rillaboom', 'Scizor-Mega', 'Serperior', 'Slowbro-Base', 'Swampert-Mega', 'Tapu Fini',
484
+ 'Tapu Koko', 'Tapu Lele', 'Toxapex', 'Tyranitar', 'Victini', 'Volcarona', 'Weavile', 'Zapdos-Base',
493
485
  'ND UUBL',
494
486
  'Drizzle', 'Drought',
495
487
  // Slowbronite is banned so it doesn't validate on Galarian Slowbro
@@ -497,10 +489,12 @@ exports.Formats = [
497
489
  ],
498
490
  // Used to distinguish UU from below UU in the client
499
491
  restricted: [
500
- 'Absol-Mega', 'Aegislash', 'Alomomola', 'Altaria-Mega', 'Amoonguss', 'Beedrill-Mega', 'Bisharp', 'Breloom', 'Celesteela',
501
- 'Donphan', 'Dragonite', 'Hippowdon', 'Infernape', 'Keldeo', 'Krookodile', 'Mandibuzz', 'Manectric-Mega', 'Melmetal', 'Mew',
502
- 'Moltres-Base', 'Porygon2', 'Regieleki', 'Rotom-Heat', 'Rotom-Wash', 'Scizor', 'Skarmory', 'Slowking', 'Slowking-Galar',
503
- 'Swampert-Base', 'Tangrowth', 'Umbreon', 'Urshifu-Rapid-Strike',
492
+ 'Aegislash', 'Alakazam-Base', 'Altaria-Mega', 'Amoonguss', 'Beedrill-Mega', 'Blaziken-Base', 'Breloom', 'Celesteela',
493
+ 'Chandelure', 'Donphan', 'Dracozolt', 'Dragonite', 'Feraligatr', 'Gastrodon', 'Hatterene', 'Hippowdon', 'Infernape',
494
+ 'Keldeo', 'Krookodile', 'Mamoswine', 'Mandibuzz', 'Manectric-Mega', 'Melmetal', 'Mienshao', 'Moltres-Base',
495
+ 'Nidoking', 'Nidoqueen', 'Nihilego', 'Quagsire', 'Regieleki', 'Ribombee', 'Rotom-Heat', 'Rotom-Wash', 'Salamence',
496
+ 'Scizor', 'Skarmory', 'Slowking-Base', 'Swampert-Base', 'Talonflame', 'Tangrowth', 'Tornadus-Base', 'Umbreon',
497
+ 'Urshifu-Rapid-Strike',
504
498
  ],
505
499
  },
506
500
  {
@@ -536,33 +530,60 @@ exports.Formats = [
536
530
  section: "Pet Mods",
537
531
  },
538
532
  {
539
- name: "[Gen 8] Fusion Evolution UU",
533
+ name: "[Gen 8] Alternatium",
534
+ desc: `A metagame made up of only Pok&eacute;mon with alternate forms, with all of them being separate and unique.`,
540
535
  threads: [
541
- `&bullet; <a href="https://www.smogon.com/forums/threads/3674163/">Fusion Evolution UU</a>`,
536
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3683767/">Alternatium</a>`,
537
+ `&bullet; <a href="https://docs.google.com/spreadsheets/d/1bvvkPg1CrUBJFJJeuwkts8elfJcEcahGOoHm-vGBXOI/edit?usp=sharing">Spreadsheet</a>`,
542
538
  ],
543
- mod: "fusionevolutionuu",
544
- searchShow: false,
545
- ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Dynamax Clause', 'Sleep Clause Mod', 'Z-Move Clause', 'Data Mod', 'Mega Data Mod'],
546
- banlist: [
547
- 'All Pokemon', 'Lopunnite', 'Tapu Lop-Mega', 'Red Orb', 'Grousle-Primal',
539
+ mod: 'alternatium',
540
+ ruleset: ['Standard NatDex', 'Z-Move Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Dynamax Clause', 'Sleep Clause Mod'],
541
+ banlist: ['All Pokemon', 'Past'],
542
+ unbanlist: [
543
+ 'Silvally', 'Silvally-Bug', 'Silvally-Dark', 'Silvally-Dragon', 'Silvally-Electric', 'Silvally-Fairy', 'Silvally-Fighting', 'Silvally-Fire', 'Silvally-Flying', 'Silvally-Ghost',
544
+ 'Silvally-Grass', 'Silvally-Ground', 'Silvally-Ice', 'Silvally-Poison', 'Silvally-Psychic', 'Silvally-Rock', 'Silvally-Steel', 'Silvally-Water', 'Pikachu', 'Pikachu-Rock-Star',
545
+ 'Pikachu-Belle', 'Pikachu-Idol', 'Pikachu-PhD', 'Pikachu-Libre', 'Pikachu-Partner', 'Pikachu-Starter', 'Darmanitan', 'Darmanitan-Zen', 'Darmanitan-Galar', 'Darmanitan-Galar-Zen',
546
+ 'Aegishield', 'Aegislash', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Rotom', 'Rotom-Heat', 'Rotom-Wash', 'Rotom-Frost', 'Rotom-Fan', 'Rotom-Mow', 'Dugtrio',
547
+ 'Dugtrio-Alola', 'Muk', 'Muk-Oilslick', 'Slowbro', 'Slowbro-Galar', 'Slowking', 'Slowking-Galar', 'Tornadus', 'Cummulus', 'Thundurus', 'Thundurus-Therian', 'Landorus', 'Landorus-Bengal',
548
+ 'Vivillon-Fancy', 'Vivillon', 'Vivillon-Pokeball', 'Genesect', 'Genesect-Password', 'Genesect-Molten', 'Genesect-Freezer', 'Genesect-Type-Delta', 'Groudon', 'Groudon-Primal', 'Kyogre',
549
+ 'Kyogre-Primal', 'Deoxys-Wood', 'Deoxys-Gem', 'Deoxys-Tank', 'Deoxys-Speed', 'Sandslash-Lustrous', 'Sandslash-Alola', 'Ninetales-Steamwork', 'Ninetales-Alola', 'Giratina', 'Giratina-Shadow',
550
+ 'Eternatus', 'Manustorm', 'Exeggutor', 'Exeggutor-Lighthouse', 'Weezing', 'Weezing-King', 'Raticate', 'Raticate-Alola', 'Linoone', 'Linoone-Punk', 'Catastroform', 'Castform-Firestorm',
551
+ 'Castform-Thunderstorm', 'Castform-Snowy', 'Wormadam', 'Wormadam-Sandy', 'Fibormadam', 'Farfetch\u2019d', 'Farfetch\u2019d-Galar', 'Corsola', 'Corsoul', 'Shaymin', 'Shaymin-Sky', 'Keldeo',
552
+ 'Swordeo', 'Meloetta', 'Meloetta-Fighter', 'Lycanday', 'Lycanroc-Spectre', 'Lycanroc-Dusk', 'Gourgeist', 'Gourgeist-Fae', 'Gourgeist-Pulpy', 'Supergeist', 'Cramorant', 'Cramorant-Swimmer',
553
+ 'Cramorant-Gorging', 'Eiscue', 'Eiscue-Noice', 'Mimikyu', 'Mimikyu-Sparkstone', 'Morpeko-Marsh', 'Morvilant', 'Zygarde-Wyrm', 'Zygarde-Canid', 'Zygarde-Goliath',
554
+ ],
555
+ onValidateTeam(team, format) {
556
+ const speciesTable = new Set();
557
+ for (const set of team) {
558
+ const species = this.dex.species.get(set.species);
559
+ if (speciesTable.has(species.id)) {
560
+ return [
561
+ `You are limited to one of each Pokémon by Species Clause (except for different formes).`,
562
+ `(You have more than one ${species.id}.)`,
563
+ ];
564
+ }
565
+ speciesTable.add(species.id);
566
+ }
567
+ },
568
+ },
569
+ {
570
+ name: "[Gen 8] Random Dex",
571
+ desc: `A micrometagame project consisting of 80 randomly selected fully-evolved Pok&eacute;mon.`,
572
+ threads: [
573
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3690182/">Random Dex</a>`,
548
574
  ],
575
+ mod: 'randomdex',
576
+ ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Dynamax Clause', 'Sleep Clause Mod'],
577
+ banlist: ['All Pokemon', 'Past', 'Arena Trap', 'Moody', 'Shadow Tag', 'Baton Pass', 'Bright Powder', 'Lax Incense', 'King\'s Rock', 'Razor Fang', 'Kangaskhanite', 'Medichamite', 'Kommonium Z'],
549
578
  unbanlist: [
550
- 'Volquag', 'Toxalure', 'Kingtsar', 'Tanette', 'Slowton',
551
- 'Flaant', 'Umbat', 'Chomplim', 'Chomplim-Mega', 'Xotalion', 'Miemie', 'Dusking', 'Jelliswine',
552
- 'Pigapult', 'Lycanserker-Dusk', 'Tapu Lop', 'Dragontler', 'Eternabat',
553
- 'Grimmlurk', 'Manicuno-Galar', 'Yacian-Crowned', 'Cryogolem', 'Stoudrago',
554
- 'Grousle', 'Dongoro', 'Slurpum',
555
- 'Corveot', 'Corveot-Mega', 'Igglyzenta-Crowned', 'Arctres-Galar', 'Garborude', 'Noicity', 'Ferros',
556
- 'Landmaldo-Therian', 'Tentoxys-Defense', 'Strikados-Galar', 'Hooporant',
557
- 'Silvino-Bug', 'Silvino-Dark', 'Silvino-Dragon', 'Silvino-Electric', 'Silvino-Fairy', 'Silvino-Fighting',
558
- 'Silvino-Fire', 'Silvino-Flying', 'Silvino-Ghost', 'Silvino-Grass', 'Silvino-Ground', 'Silvino-Ice',
559
- 'Silvino-Poison', 'Silvino-Psychic', 'Silvino-Rock', 'Silvino-Steel', 'Silvino-Water', 'Silvino',
560
- 'Silvino-Bug-Mega', 'Silvino-Dark-Mega', 'Silvino-Dragon-Mega',
561
- 'Silvino-Electric-Mega', 'Silvino-Fairy-Mega', 'Silvino-Fighting-Mega',
562
- 'Silvino-Fire-Mega', 'Silvino-Flying-Mega', 'Silvino-Ghost-Mega',
563
- 'Silvino-Grass-Mega', 'Silvino-Ground-Mega', 'Silvino-Ice-Mega',
564
- 'Silvino-Poison-Mega', 'Silvino-Psychic-Mega', 'Silvino-Rock-Mega',
565
- 'Silvino-Steel-Mega', 'Silvino-Water-Mega', 'Silvino-Mega',
579
+ 'Absol', 'Absol-Mega', 'Appletun', 'Articuno', 'Aurorus', 'Basculin', 'Beartic', 'Bisharp', 'Calyrex', 'Camerupt', 'Camerupt-Mega',
580
+ 'Celesteela', 'Cloyster', 'Crawdaunt', 'Cursola', 'Dedenne', 'Delibird', 'Eelektross', 'Espeon', 'Flapple', 'Flareon', 'Flygon',
581
+ 'Galvantula', 'Girafarig', 'Glaceon', 'Goodra', 'Gourgeist', 'Grimmsnarl', 'Guzzlord', 'Heliolisk', 'Hitmonchan', 'Hitmonlee',
582
+ 'Hitmontop', 'Incineroar', 'Indeedee', 'Jolteon', 'Kangaskhan', 'Kommo-o', 'Lanturn', 'Leafeon', 'Leavanny', 'Ludicolo', 'Lunatone',
583
+ 'Luvdisc', 'Machamp', 'Mandibuzz', 'Medicham', 'Nihilego', 'Palossand', 'Pidgeot', 'Pidgeot-Mega', 'Probopass', 'Pyroar', 'Sawk',
584
+ 'Sceptile', 'Sceptile-Mega', 'Scolipede', 'Shiftry', 'Simisage', 'Slowbro', 'Slowbro-Mega', 'Slowking', 'Swoobat', 'Sylveon',
585
+ 'Tapu Bulu', 'Tapu Fini', 'Tauros', 'Typhlosion', 'Umbreon', 'Ursaring', 'Vaporeon', 'Whiscash', 'Wishiwashi', 'Zebstrika', 'Absolite',
586
+ 'Pidgeotite', 'Sceptilite', 'Cameruptite', 'Slowbronite',
566
587
  ],
567
588
  },
568
589
  {
@@ -583,36 +604,82 @@ exports.Formats = [
583
604
  column: 2,
584
605
  },
585
606
  {
586
- name: "[Gen 8] Revelationmons",
587
- 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).`,
607
+ name: "[Gen 8] Pokebilities",
608
+ desc: `Pok&eacute;mon have all of their released abilities simultaneously.`,
588
609
  threads: [
589
- `&bullet; <a href="https://www.smogon.com/forums/threads/3692297/">Revelationmons</a>`,
610
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3679692/">Pok&eacute;bilities</a>`,
590
611
  ],
591
- mod: 'gen8',
592
- ruleset: ['Standard', 'Dynamax Clause', 'Revelationmons Mod', 'Sleep Moves Clause'],
612
+ mod: 'pokebilities',
613
+ ruleset: ['Standard', 'Dynamax Clause'],
593
614
  banlist: [
594
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Dragapult', 'Eternatus', 'Genesect',
595
- 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kommo-o', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia',
596
- 'Lunala', 'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia',
597
- 'Pheromosa', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
598
- 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody', 'Power Construct', 'Shadow Tag',
599
- 'King\'s Rock', 'Baton Pass',
615
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Conkeldurr', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dracozolt',
616
+ 'Eternatus', 'Excadrill', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-Black',
617
+ 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings',
618
+ 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Porygon-Z', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Spectrier', 'Urshifu-Base',
619
+ 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom', 'Zygarde-Base', 'Power Construct',
620
+ 'Baton Pass', 'King\'s Rock',
621
+ // Moody users
622
+ 'Glalie', 'Octillery', 'Remoraid', 'Snorunt',
623
+ // Shadow Tag/Arena Trap
624
+ 'Diglett-Base', 'Dugtrio-Base', 'Gothita', 'Gothitelle', 'Gothorita', 'Trapinch', 'Wobbuffet', 'Wynaut',
600
625
  ],
601
- restricted: ['Bolt Beak', 'U-turn', 'Volt Switch'],
626
+ onBegin() {
627
+ for (const pokemon of this.getAllPokemon()) {
628
+ if (pokemon.ability === this.toID(pokemon.species.abilities['S'])) {
629
+ continue;
630
+ }
631
+ pokemon.m.innates = Object.keys(pokemon.species.abilities)
632
+ .filter(key => key !== 'S' && (key !== 'H' || !pokemon.species.unreleasedHidden))
633
+ .map(key => this.toID(pokemon.species.abilities[key]))
634
+ .filter(ability => ability !== pokemon.ability);
635
+ }
636
+ },
637
+ onSwitchInPriority: 2,
638
+ onSwitchIn(pokemon) {
639
+ if (pokemon.m.innates) {
640
+ for (const innate of pokemon.m.innates) {
641
+ pokemon.addVolatile("ability:" + innate, pokemon);
642
+ }
643
+ }
644
+ },
645
+ onAfterMega(pokemon) {
646
+ for (const innate of Object.keys(pokemon.volatiles).filter(i => i.startsWith('ability:'))) {
647
+ pokemon.removeVolatile(innate);
648
+ }
649
+ pokemon.m.innates = undefined;
650
+ },
602
651
  },
603
652
  {
604
- name: "[Gen 8 BDSP] Balanced Hackmons",
605
- desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
653
+ name: "[Gen 8] Camomons",
654
+ desc: `Pok&eacute;mon change type to match their first two moves.`,
606
655
  threads: [
607
- `&bullet; <a href="https://www.smogon.com/forums/posts/9043074">BDSP Balanced Hackmons</a>`,
656
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3656413/">Camomons</a>`,
608
657
  ],
609
- mod: 'gen8bdsp',
610
- ruleset: ['-Nonexistent', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Moves Clause', 'Endless Battle Clause'],
658
+ mod: 'gen8',
659
+ // searchShow: false,
660
+ 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'],
611
661
  banlist: [
612
- 'Shedinja', 'Arena Trap', 'Contrary', 'Gorilla Tactics', 'Huge Power', 'Illusion', 'Innards Out', 'Intrepid Sword',
613
- 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble',
614
- 'Wonder Guard', 'Comatose + Sleep Talk', 'Shell Smash',
662
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin',
663
+ 'Groudon', 'Ho-Oh', 'Hydreigon', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Latias', 'Latios', 'Lugia',
664
+ 'Lunala', 'Marshadow', 'Mew', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram',
665
+ 'Reuniclus', 'Shedinja', 'Slowking-Galar', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Volcarona', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
666
+ 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass',
615
667
  ],
668
+ onModifySpeciesPriority: 2,
669
+ onModifySpecies(species, target, source, effect) {
670
+ if (!target)
671
+ return; // Chat command
672
+ if (effect && ['imposter', 'transform'].includes(effect.id))
673
+ return;
674
+ const types = [...new Set(target.baseMoveSlots.slice(0, 2).map(move => this.dex.moves.get(move.id).type))];
675
+ return { ...species, types: types };
676
+ },
677
+ onSwitchIn(pokemon) {
678
+ this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
679
+ },
680
+ onAfterMega(pokemon) {
681
+ this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
682
+ },
616
683
  },
617
684
  // Other Metagames
618
685
  ///////////////////////////////////////////////////////////////////
@@ -656,6 +723,34 @@ exports.Formats = [
656
723
  }
657
724
  },
658
725
  },
726
+ {
727
+ name: "[Gen 8] Almost Any Ability",
728
+ desc: `Pok&eacute;mon have access to almost any ability.`,
729
+ threads: [
730
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3656414/">Almost Any Ability</a>`,
731
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3682690/">AAA Resources</a>`,
732
+ ],
733
+ mod: 'gen8',
734
+ 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'],
735
+ banlist: [
736
+ 'Archeops', 'Blacephalon', 'Buzzwole', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Gengar', 'Giratina',
737
+ 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Keldeo', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow',
738
+ 'Melmetal', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia', 'Pheromosa', 'Rayquaza', 'Regigigas', 'Reshiram', 'Shedinja',
739
+ 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Urshifu-Rapid-Strike', 'Victini', 'Weavile', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom',
740
+ 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter',
741
+ 'Innards Out', 'Intrepid Sword', 'Libero', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Poison Heal', 'Power Construct', 'Protean', 'Pure Power',
742
+ 'Shadow Tag', 'Simple', 'Stakeout', 'Speed Boost', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
743
+ ],
744
+ onValidateSet(set) {
745
+ // Temporary fix until battle-only is implemented properly
746
+ if (this.toID(set.species) === 'zamazentacrowned' && this.toID(set.ability) !== 'dauntlessshield') {
747
+ return [`Zamazenta-Crowned can only use Dauntless Shield because it is a battle-only forme.`];
748
+ }
749
+ if (this.toID(set.species) === 'zaciancrowned' && this.toID(set.ability) !== 'intrepidsword') {
750
+ return [`Zacian-Crowned can only use Intrepid Sword because it is a battle-only forme.`];
751
+ }
752
+ },
753
+ },
659
754
  {
660
755
  name: "[Gen 8] Mix and Mega",
661
756
  desc: `Mega evolve any Pok&eacute;mon with any mega stone and no limit. Boosts based on mega evolution from gen 7.`,
@@ -673,7 +768,8 @@ exports.Formats = [
673
768
  restricted: [
674
769
  'Calyrex-Ice', 'Dialga', 'Eternatus', 'Gengar', 'Giratina', 'Groudon', 'Ho-Oh', 'Kyurem-Black', 'Kyurem-White',
675
770
  'Lugia', 'Lunala', 'Marshadow', 'Melmetal', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane',
676
- 'Palkia', 'Rayquaza', 'Regigigas', 'Reshiram', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zekrom', 'Zygarde-Complete',
771
+ 'Palkia', 'Pheromosa', 'Rayquaza', 'Regigigas', 'Reshiram', 'Urshifu', 'Urshifu-Rapid-Strike', 'Xerneas',
772
+ 'Yveltal', 'Zekrom', 'Zygarde-Complete',
677
773
  ],
678
774
  onValidateTeam(team) {
679
775
  const itemTable = new Set();
@@ -718,49 +814,23 @@ exports.Formats = [
718
814
  }
719
815
  },
720
816
  },
721
- {
722
- name: "[Gen 8] Almost Any Ability",
723
- desc: `Pok&eacute;mon have access to almost any ability.`,
724
- threads: [
725
- `&bullet; <a href="https://www.smogon.com/forums/threads/3656414/">Almost Any Ability</a>`,
726
- `&bullet; <a href="https://www.smogon.com/forums/threads/3682690/">AAA Resources</a>`,
727
- ],
728
- mod: 'gen8',
729
- 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'],
730
- banlist: [
731
- 'Archeops', 'Buzzwole', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Gengar', 'Giratina', 'Giratina-Origin',
732
- 'Groudon', 'Ho-Oh', 'Kartana', 'Keldeo', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mewtwo',
733
- 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia', 'Pheromosa', 'Rayquaza', 'Regigigas', 'Reshiram', 'Shedinja', 'Solgaleo', 'Spectrier',
734
- 'Urshifu-Base', 'Urshifu-Rapid-Strike', 'Victini', 'Weavile', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom', 'Zeraora', 'Zygarde-Base',
735
- 'Arena Trap', 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter', 'Innards Out', 'Intrepid Sword',
736
- 'Libero', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Poison Heal', 'Power Construct', 'Protean', 'Pure Power', 'Shadow Tag', 'Simple', 'Stakeout',
737
- 'Speed Boost', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
738
- ],
739
- onValidateSet(set) {
740
- // Temporary fix until battle-only is implemented properly
741
- if (this.toID(set.species) === 'zamazentacrowned' && this.toID(set.ability) !== 'dauntlessshield') {
742
- return [`Zamazenta-Crowned can only use Dauntless Shield because it is a battle-only forme.`];
743
- }
744
- if (this.toID(set.species) === 'zaciancrowned' && this.toID(set.ability) !== 'intrepidsword') {
745
- return [`Zacian-Crowned can only use Intrepid Sword because it is a battle-only forme.`];
746
- }
747
- },
748
- },
749
817
  {
750
818
  name: "[Gen 8] STABmons",
751
819
  desc: `Pok&eacute;mon can use any move of their typing, in addition to the moves they can normally learn.`,
752
820
  threads: [
753
821
  `&bullet; <a href="https://www.smogon.com/forums/threads/3656429/">STABmons</a>`,
822
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3695169/">STABmons Resources</a>`,
754
823
  ],
755
824
  mod: 'gen8',
756
- ruleset: ['Standard', 'STABmons Move Legality', 'Dynamax Clause', 'Sleep Moves Clause'],
825
+ ruleset: ['Standard', 'STABmons Move Legality', 'Dynamax Clause', 'Sleep Moves Clause', '!Sleep Clause Mod'],
757
826
  banlist: [
758
- 'Aegislash', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Genesect',
759
- 'Garchomp', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus', 'Landorus-Therian',
760
- 'Lugia', 'Lunala', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Porygon-Z',
761
- 'Rayquaza', 'Reshiram', 'Silvally', 'Solgaleo', 'Spectrier', 'Tapu Bulu', 'Tapu Koko', 'Thundurus-Base', 'Urshifu-Base', 'Xerneas', 'Yveltal',
762
- 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zapdos-Galar', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody',
763
- 'Power Construct', 'Shadow Tag', 'King\'s Rock', 'Baton Pass',
827
+ 'Aegislash', 'Blacephalon', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite',
828
+ 'Eternatus', 'Genesect', 'Garchomp', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black',
829
+ 'Kyurem-White', 'Landorus', 'Landorus-Therian', 'Lugia', 'Lunala', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings',
830
+ 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Porygon-Z', 'Rayquaza', 'Reshiram', 'Silvally', 'Solgaleo', 'Spectrier', 'Tapu Bulu',
831
+ 'Tapu Koko', 'Thundurus-Base', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned',
832
+ 'Zapdos-Galar', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody', 'Power Construct', 'Shadow Tag', 'King\'s Rock',
833
+ 'Baton Pass',
764
834
  ],
765
835
  restricted: [
766
836
  'Acupressure', 'Astral Barrage', 'Belly Drum', 'Bolt Beak', 'Clangorous Soul', 'Double Iron Bash', 'Electrify', 'Extreme Speed', 'Fishious Rend',
@@ -781,6 +851,63 @@ exports.Formats = [
781
851
  'Rhydon', 'Scyther', 'Sneasel', 'Type: Null', 'Vulpix-Base', 'Arena Trap', 'Shadow Tag', 'Baton Pass',
782
852
  ],
783
853
  },
854
+ {
855
+ name: "[Gen 8] Godly Gift",
856
+ desc: `Each Pok&eacute;mon receives one base stat from a God (AG/Uber Pok&eacute;mon) depending on its position in the team. If there is no Uber Pok&eacute;mon, it uses the Pok&eacute;mon in the first slot.`,
857
+ threads: [
858
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3660461/">Godly Gift</a>`,
859
+ ],
860
+ mod: 'gen8',
861
+ ruleset: ['Standard', 'Dynamax Clause', 'Sleep Moves Clause'],
862
+ banlist: [
863
+ 'Blissey', 'Calyrex-Shadow', 'Chansey', 'Dragapult', 'Hawlucha', 'Marowak-Alola', 'Melmetal', 'Pikachu', 'Toxapex',
864
+ 'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power', 'Moody', 'Pure Power',
865
+ 'Shadow Tag', 'Baton Pass',
866
+ ],
867
+ onValidateTeam(team) {
868
+ const gods = new Set();
869
+ for (const set of team) {
870
+ let species = this.dex.species.get(set.species);
871
+ if (typeof species.battleOnly === 'string')
872
+ species = this.dex.species.get(species.battleOnly);
873
+ if (['ag', 'uber'].includes(this.toID(species.tier)) || this.toID(set.ability) === 'powerconstruct') {
874
+ gods.add(species.name);
875
+ }
876
+ }
877
+ if (gods.size > 1) {
878
+ return [`You have too many Gods.`, `(${Array.from(gods).join(', ')} are Gods.)`];
879
+ }
880
+ },
881
+ onModifySpeciesPriority: 3,
882
+ onModifySpecies(species, target, source) {
883
+ if (source || !target?.side)
884
+ return;
885
+ const god = target.side.team.find(set => {
886
+ let godSpecies = this.dex.species.get(set.species);
887
+ const validator = this.dex.formats.getRuleTable(this.dex.formats.get(`gen${this.gen}ou`));
888
+ if (this.toID(set.ability) === 'powerconstruct') {
889
+ return true;
890
+ }
891
+ if (set.item) {
892
+ const item = this.dex.items.get(set.item);
893
+ if (item.megaEvolves === set.species)
894
+ godSpecies = this.dex.species.get(item.megaStone);
895
+ }
896
+ const isBanned = validator.isBannedSpecies(godSpecies);
897
+ return isBanned;
898
+ }) || target.side.team[0];
899
+ const stat = Dex.stats.ids()[target.side.team.indexOf(target.set)];
900
+ const newSpecies = this.dex.deepClone(species);
901
+ let godSpecies = this.dex.species.get(god.species);
902
+ if (godSpecies.forme === 'Crowned') {
903
+ godSpecies = this.dex.species.get(godSpecies.changesFrom || godSpecies.baseSpecies);
904
+ }
905
+ newSpecies.bst -= newSpecies.baseStats[stat];
906
+ newSpecies.baseStats[stat] = godSpecies.baseStats[stat];
907
+ newSpecies.bst += newSpecies.baseStats[stat];
908
+ return newSpecies;
909
+ },
910
+ },
784
911
  {
785
912
  name: "[Gen 8] Free-For-All",
786
913
  threads: [
@@ -817,11 +944,15 @@ exports.Formats = [
817
944
  name: "[Gen 8 BDSP] OU",
818
945
  threads: [
819
946
  `&bullet; <a href="https://www.smogon.com/forums/threads/3693629/">BDSP OU Metagame Discussion</a>`,
820
- `&bullet; <a href="https://www.smogon.com/forums/threads/3693620/">BDSP OU Viability List</a>`,
947
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693721/">BDSP OU Sample Teams</a>`,
948
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3696088/">BDSP OU Viability Rankings</a>`,
821
949
  ],
822
950
  mod: 'gen8bdsp',
823
951
  ruleset: ['Standard'],
824
- banlist: ['Uber', 'Arena Trap', 'Drizzle', 'Moody', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Baton Pass'],
952
+ banlist: [
953
+ 'Uber', 'Arena Trap', 'Drizzle', 'Moody', 'Sand Veil', 'Shadow Tag', 'Snow Cloak',
954
+ 'Bright Powder', 'King\'s Rock', 'Lax Incense', 'Razor Fang', 'Baton Pass',
955
+ ],
825
956
  },
826
957
  {
827
958
  name: "[Gen 8 BDSP] Ubers",
@@ -841,6 +972,24 @@ exports.Formats = [
841
972
  ruleset: ['[Gen 8 BDSP] OU'],
842
973
  banlist: ['OU', 'UUBL'],
843
974
  },
975
+ {
976
+ name: "[Gen 8 BDSP] RU",
977
+ threads: [
978
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3695563/">BDSP RU</a>`,
979
+ ],
980
+ mod: 'gen8bdsp',
981
+ ruleset: ['[Gen 8 BDSP] UU'],
982
+ banlist: ['UU', 'RUBL'],
983
+ },
984
+ {
985
+ name: "[Gen 8 BDSP] LC",
986
+ threads: [
987
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3696004/">BDSP LC</a>`,
988
+ ],
989
+ mod: 'gen8bdsp',
990
+ ruleset: ['Little Cup', 'Standard'],
991
+ banlist: ['Gligar', 'Meditite', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Vulpix', 'Yanma', 'Baton Pass'],
992
+ },
844
993
  {
845
994
  name: "[Gen 8 BDSP] Monotype",
846
995
  threads: [
@@ -862,6 +1011,14 @@ exports.Formats = [
862
1011
  searchShow: false,
863
1012
  ruleset: ['[Gen 8 BDSP] OU', '+CAP'],
864
1013
  },
1014
+ {
1015
+ name: "[Gen 8 BDSP] 3v3 Singles",
1016
+ threads: [
1017
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3695092/">BDSP 3v3 Singles</a>`,
1018
+ ],
1019
+ mod: 'gen8bdsp',
1020
+ ruleset: ['Flat Rules', 'Min Source Gen = 8'],
1021
+ },
865
1022
  {
866
1023
  name: "[Gen 8 BDSP] Doubles OU",
867
1024
  threads: [
@@ -895,96 +1052,6 @@ exports.Formats = [
895
1052
  section: "Challengeable OMs",
896
1053
  column: 2,
897
1054
  },
898
- {
899
- name: "[Gen 8] Camomons",
900
- desc: `Pok&eacute;mon change type to match their first two moves.`,
901
- threads: [
902
- `&bullet; <a href="https://www.smogon.com/forums/threads/3656413/">Camomons</a>`,
903
- ],
904
- mod: 'gen8',
905
- searchShow: false,
906
- 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'],
907
- banlist: [
908
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon',
909
- 'Ho-Oh', 'Hydreigon', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Latias', 'Latios', 'Lugia', 'Lunala', 'Marshadow',
910
- 'Mew', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Reuniclus', 'Shedinja',
911
- 'Slowking-Galar', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom',
912
- 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass',
913
- ],
914
- onModifySpeciesPriority: 2,
915
- onModifySpecies(species, target, source, effect) {
916
- if (!target)
917
- return; // Chat command
918
- if (effect && ['imposter', 'transform'].includes(effect.id))
919
- return;
920
- const types = [...new Set(target.baseMoveSlots.slice(0, 2).map(move => this.dex.moves.get(move.id).type))];
921
- return { ...species, types: types };
922
- },
923
- onSwitchIn(pokemon) {
924
- this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
925
- },
926
- onAfterMega(pokemon) {
927
- this.add('-start', pokemon, 'typechange', (pokemon.illusion || pokemon).getTypes(true).join('/'), '[silent]');
928
- },
929
- },
930
- {
931
- name: "[Gen 8] Godly Gift",
932
- desc: `Each Pok&eacute;mon receives one base stat from a God (AG/Uber Pok&eacute;mon) depending on its position in the team. If there is no Uber Pok&eacute;mon, it uses the Pok&eacute;mon in the first slot.`,
933
- threads: [
934
- `&bullet; <a href="https://www.smogon.com/forums/threads/3660461/">Godly Gift</a>`,
935
- ],
936
- mod: 'gen8',
937
- searchShow: false,
938
- ruleset: ['Standard', 'Dynamax Clause'],
939
- banlist: [
940
- 'Blissey', 'Calyrex-Shadow', 'Chansey', 'Dragapult', 'Hawlucha', 'Marowak-Alola', 'Melmetal', 'Pikachu', 'Toxapex',
941
- 'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power', 'Moody', 'Pure Power',
942
- 'Shadow Tag', 'Baton Pass',
943
- ],
944
- onValidateTeam(team) {
945
- const gods = new Set();
946
- for (const set of team) {
947
- let species = this.dex.species.get(set.species);
948
- if (typeof species.battleOnly === 'string')
949
- species = this.dex.species.get(species.battleOnly);
950
- if (['ag', 'uber'].includes(this.toID(species.tier)) || this.toID(set.ability) === 'powerconstruct') {
951
- gods.add(species.name);
952
- }
953
- }
954
- if (gods.size > 1) {
955
- return [`You have too many Gods.`, `(${Array.from(gods).join(', ')} are Gods.)`];
956
- }
957
- },
958
- onModifySpeciesPriority: 3,
959
- onModifySpecies(species, target, source) {
960
- if (source || !target?.side)
961
- return;
962
- const god = target.side.team.find(set => {
963
- let godSpecies = this.dex.species.get(set.species);
964
- const validator = this.dex.formats.getRuleTable(this.dex.formats.get(`gen${this.gen}ou`));
965
- if (this.toID(set.ability) === 'powerconstruct') {
966
- return true;
967
- }
968
- if (set.item) {
969
- const item = this.dex.items.get(set.item);
970
- if (item.megaEvolves === set.species)
971
- godSpecies = this.dex.species.get(item.megaStone);
972
- }
973
- const isBanned = validator.isBannedSpecies(godSpecies);
974
- return isBanned;
975
- }) || target.side.team[0];
976
- const stat = Dex.stats.ids()[target.side.team.indexOf(target.set)];
977
- const newSpecies = this.dex.deepClone(species);
978
- let godSpecies = this.dex.species.get(god.species);
979
- if (godSpecies.forme === 'Crowned') {
980
- godSpecies = this.dex.species.get(godSpecies.changesFrom || godSpecies.baseSpecies);
981
- }
982
- newSpecies.bst -= newSpecies.baseStats[stat];
983
- newSpecies.baseStats[stat] = godSpecies.baseStats[stat];
984
- newSpecies.bst += newSpecies.baseStats[stat];
985
- return newSpecies;
986
- },
987
- },
988
1055
  {
989
1056
  name: "[Gen 8] Inheritance",
990
1057
  desc: `Pok&eacute;mon may use the ability and moves of another, as long as they forfeit their own learnset.`,
@@ -1826,7 +1893,8 @@ exports.Formats = [
1826
1893
  desc: `Randomized teams of level-balanced Pok&eacute;mon with absolutely any ability, moves, and item.`,
1827
1894
  mod: 'gen8',
1828
1895
  team: 'randomHC',
1829
- ruleset: ['Obtainable Formes', 'HP Percentage Mod', 'Cancel Mod'],
1896
+ ruleset: ['HP Percentage Mod', 'Cancel Mod'],
1897
+ banlist: ['Nonexistent'],
1830
1898
  },
1831
1899
  {
1832
1900
  name: "[Gen 8] Doubles Hackmons Cup",
@@ -1834,7 +1902,8 @@ exports.Formats = [
1834
1902
  gameType: 'doubles',
1835
1903
  team: 'randomHC',
1836
1904
  searchShow: false,
1837
- ruleset: ['Obtainable', 'HP Percentage Mod', 'Cancel Mod'],
1905
+ ruleset: ['HP Percentage Mod', 'Cancel Mod'],
1906
+ banlist: ['Nonexistent'],
1838
1907
  },
1839
1908
  {
1840
1909
  name: "[Gen 8] CAP 1v1",
@@ -1903,6 +1972,7 @@ exports.Formats = [
1903
1972
  team: 'randomHC',
1904
1973
  searchShow: false,
1905
1974
  ruleset: ['HP Percentage Mod', 'Cancel Mod'],
1975
+ banlist: ['Nonexistent'],
1906
1976
  },
1907
1977
  {
1908
1978
  name: "[Gen 7 Let's Go] Random Battle",
@@ -1969,6 +2039,7 @@ exports.Formats = [
1969
2039
  team: 'randomHC',
1970
2040
  searchShow: false,
1971
2041
  ruleset: ['HP Percentage Mod', 'Cancel Mod', 'Desync Clause Mod', 'Sleep Clause Mod', 'Freeze Clause Mod', 'Team Type Preview'],
2042
+ banlist: ['Nonexistent'],
1972
2043
  onModifySpecies(species, target, source, effect) {
1973
2044
  if (!target)
1974
2045
  return;
@@ -1990,47 +2061,37 @@ exports.Formats = [
1990
2061
  column: 3,
1991
2062
  },
1992
2063
  {
1993
- name: "[Gen 1] UU",
1994
- threads: [
1995
- `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU Metagame Discussion</a>`,
1996
- `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Rankings</a>`,
1997
- ],
1998
- mod: 'gen1',
2064
+ name: "[Gen 2] UU",
2065
+ threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3576710/">GSC UU</a>`],
2066
+ mod: 'gen2',
1999
2067
  // searchShow: false,
2000
- ruleset: ['[Gen 1] OU'],
2068
+ ruleset: ['[Gen 2] OU'],
2001
2069
  banlist: ['OU', 'UUBL'],
2002
2070
  },
2003
2071
  {
2004
- name: "[Gen 6] 1v1",
2005
- desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
2072
+ name: "[Gen 5] NU",
2006
2073
  threads: [
2007
- `&bullet; <a href="https://www.smogon.com/forums/posts/8031459/">ORAS 1v1</a>`,
2074
+ `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2075
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3484121/">BW2 NU Viability Rankings</a>`,
2008
2076
  ],
2009
- mod: 'gen6',
2077
+ mod: 'gen5',
2010
2078
  // searchShow: false,
2011
- ruleset: [
2012
- 'Max Team Size = 3', 'Picked Team Size = 1',
2013
- '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',
2014
- ],
2015
- banlist: [
2016
- 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2017
- 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2018
- 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2019
- 'Focus Sash', 'Soul Dew', 'Perish Song',
2020
- ],
2079
+ ruleset: ['[Gen 5] RU', '!Sleep Moves Clause', 'Sleep Clause Mod'],
2080
+ banlist: ['RU', 'NUBL', 'Assist', 'Copycat'],
2021
2081
  },
2022
2082
  {
2023
- name: "[Gen 5] Doubles OU",
2083
+ name: "[Gen 5] LC",
2024
2084
  threads: [
2025
- `&bullet; <a href="https://www.smogon.com/forums/threads/3606719/">BW2 Doubles Metagame Discussion</a>`,
2026
- `&bullet; <a href="https://www.smogon.com/forums/posts/7393048/">BW2 Doubles Viability Rankings</a>`,
2027
- `&bullet; <a href="https://www.smogon.com/forums/posts/7393081/">BW2 Doubles Sample Teams</a>`,
2085
+ `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2086
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3485860/">BW2 LC Viability Rankings</a>`,
2028
2087
  ],
2029
2088
  mod: 'gen5',
2030
- gameType: 'doubles',
2031
2089
  // searchShow: false,
2032
- ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2033
- banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity'],
2090
+ ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause'],
2091
+ banlist: [
2092
+ 'Gligar', 'Meditite', 'Misdreavus', 'Murkrow', 'Scraggy', 'Scyther', 'Sneasel', 'Tangela', 'Vulpix', 'Yanma',
2093
+ 'Sand Rush', 'Sand Veil', 'Berry Juice', 'Soul Dew', 'Baton Pass', 'Dragon Rage', 'Sonic Boom', 'Swagger',
2094
+ ],
2034
2095
  },
2035
2096
  // Past Gens OU
2036
2097
  ///////////////////////////////////////////////////////////////////
@@ -2067,8 +2128,8 @@ exports.Formats = [
2067
2128
  `&bullet; <a href="https://www.smogon.com/forums/threads/3668699/">BW2 OU Viability Rankings</a>`,
2068
2129
  ],
2069
2130
  mod: 'gen5',
2070
- ruleset: ['Standard', 'Evasion Abilities Clause', 'Baton Pass Clause', 'Sleep Moves Clause', 'Swagger Clause'],
2071
- banlist: ['Uber', 'Arena Trap', 'Drizzle ++ Swift Swim', 'Drought ++ Chlorophyll', 'Sand Rush', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Soul Dew', 'Assist'],
2131
+ ruleset: ['Standard', 'Evasion Abilities Clause', 'Sleep Moves Clause', 'Swagger Clause'],
2132
+ banlist: ['Uber', 'Arena Trap', 'Drizzle ++ Swift Swim', 'Drought ++ Chlorophyll', 'Sand Rush', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Soul Dew', 'Assist', 'Baton Pass'],
2072
2133
  },
2073
2134
  {
2074
2135
  name: "[Gen 4] OU",
@@ -2088,8 +2149,8 @@ exports.Formats = [
2088
2149
  `&bullet; <a href="https://www.smogon.com/forums/threads/3503019/">ADV OU Viability Rankings</a>`,
2089
2150
  ],
2090
2151
  mod: 'gen3',
2091
- ruleset: ['Standard', '3 Baton Pass Clause'],
2092
- banlist: ['Uber', 'Mr. Mime', 'Smeargle + Baton Pass', 'Sand Veil'],
2152
+ ruleset: ['Standard', 'One Boost Passer Clause'],
2153
+ banlist: ['Uber', 'Sand Veil', 'Assist', 'Baton Pass + Mean Look', 'Baton Pass + Spider Web', 'Smeargle + Ingrain'],
2093
2154
  },
2094
2155
  {
2095
2156
  name: "[Gen 2] OU",
@@ -2233,6 +2294,15 @@ exports.Formats = [
2233
2294
  mod: 'gen6',
2234
2295
  ruleset: ['-Nonexistent', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause', 'EV limit = 510'],
2235
2296
  },
2297
+ {
2298
+ name: "[Gen 5] ZU",
2299
+ threads: [
2300
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8034680/">BW2 ZU</a>`,
2301
+ ],
2302
+ mod: 'gen5',
2303
+ ruleset: ['[Gen 5] PU'],
2304
+ banlist: ['PU', 'Dragonair', 'Glalie', 'Machoke', 'Marowak', 'Omanyte', 'Regigigas', 'Trubbish', 'Whirlipede', 'Baton Pass'],
2305
+ },
2236
2306
  // US/UM Singles
2237
2307
  ///////////////////////////////////////////////////////////////////
2238
2308
  {
@@ -2617,6 +2687,25 @@ exports.Formats = [
2617
2687
  'Soul Dew', 'Baton Pass',
2618
2688
  ],
2619
2689
  },
2690
+ {
2691
+ name: "[Gen 6] 1v1",
2692
+ desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
2693
+ threads: [
2694
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8031459/">ORAS 1v1</a>`,
2695
+ ],
2696
+ mod: 'gen6',
2697
+ searchShow: false,
2698
+ ruleset: [
2699
+ 'Max Team Size = 3', 'Picked Team Size = 1',
2700
+ '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',
2701
+ ],
2702
+ banlist: [
2703
+ 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2704
+ 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2705
+ 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2706
+ 'Focus Sash', 'Soul Dew', 'Perish Song',
2707
+ ],
2708
+ },
2620
2709
  {
2621
2710
  name: "[Gen 6] Anything Goes",
2622
2711
  threads: [
@@ -2637,7 +2726,7 @@ exports.Formats = [
2637
2726
  mod: 'gen6',
2638
2727
  searchShow: false,
2639
2728
  ruleset: ['[Gen 6] OU', '+CAP'],
2640
- banlist: ['Aurumoth', 'Cawmodore'],
2729
+ banlist: ['Aurumoth', 'Cawmodore', 'Crucibelle-Mega'],
2641
2730
  },
2642
2731
  {
2643
2732
  name: "[Gen 6] Battle Spot Singles",
@@ -2796,17 +2885,6 @@ exports.Formats = [
2796
2885
  banlist: ['UU', 'RUBL', 'Shadow Tag', 'Shell Smash + Baton Pass'],
2797
2886
  unbanlist: ['Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
2798
2887
  },
2799
- {
2800
- name: "[Gen 5] NU",
2801
- threads: [
2802
- `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2803
- `&bullet; <a href="https://www.smogon.com/forums/threads/3484121/">BW2 NU Viability Rankings</a>`,
2804
- ],
2805
- mod: 'gen5',
2806
- searchShow: false,
2807
- ruleset: ['[Gen 5] RU', '!Sleep Moves Clause', 'Sleep Clause Mod'],
2808
- banlist: ['RU', 'NUBL', 'Assist', 'Copycat'],
2809
- },
2810
2888
  {
2811
2889
  name: "[Gen 5] PU",
2812
2890
  threads: [
@@ -2815,21 +2893,7 @@ exports.Formats = [
2815
2893
  mod: 'gen5',
2816
2894
  searchShow: false,
2817
2895
  ruleset: ['[Gen 5] NU', 'Sleep Moves Clause'],
2818
- banlist: ['NU', 'Combusken', 'Gothorita', 'Linoone', 'Riolu', 'Rotom-Frost', 'Simipour', 'Throh', 'Vigoroth'],
2819
- },
2820
- {
2821
- name: "[Gen 5] LC",
2822
- threads: [
2823
- `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2824
- `&bullet; <a href="https://www.smogon.com/forums/threads/3485860/">BW2 LC Viability Rankings</a>`,
2825
- ],
2826
- mod: 'gen5',
2827
- searchShow: false,
2828
- ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause'],
2829
- banlist: [
2830
- 'Gligar', 'Meditite', 'Misdreavus', 'Murkrow', 'Scraggy', 'Scyther', 'Sneasel', 'Tangela', 'Vulpix', 'Yanma',
2831
- 'Sand Rush', 'Sand Veil', 'Berry Juice', 'Soul Dew', 'Baton Pass', 'Dragon Rage', 'Sonic Boom', 'Swagger',
2832
- ],
2896
+ banlist: ['NU', 'PUBL'],
2833
2897
  },
2834
2898
  {
2835
2899
  name: "[Gen 5] Monotype",
@@ -2851,7 +2915,7 @@ exports.Formats = [
2851
2915
  searchShow: false,
2852
2916
  ruleset: [
2853
2917
  'Picked Team Size = 1', 'Max Team Size = 3',
2854
- 'Standard', 'Baton Pass Clause', 'Swagger Clause',
2918
+ 'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Accuracy Moves Clause',
2855
2919
  ],
2856
2920
  banlist: ['Uber', 'Cottonee', 'Dragonite', 'Kyurem-Black', 'Mew', 'Togekiss', 'Whimsicott', 'Victini', 'Bright Powder', 'Focus Band', 'Focus Sash', 'Lax Incense', 'Quick Claw', 'Soul Dew', 'Perish Song'],
2857
2921
  unbanlist: ['Genesect', 'Landorus', 'Manaphy', 'Thundurus', 'Tornadus-Therian'],
@@ -2878,6 +2942,19 @@ exports.Formats = [
2878
2942
  section: 'B2/W2 Doubles',
2879
2943
  column: 4,
2880
2944
  },
2945
+ {
2946
+ name: "[Gen 5] Doubles OU",
2947
+ threads: [
2948
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3606719/">BW2 Doubles Metagame Discussion</a>`,
2949
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7393048/">BW2 Doubles Viability Rankings</a>`,
2950
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7393081/">BW2 Doubles Sample Teams</a>`,
2951
+ ],
2952
+ mod: 'gen5',
2953
+ gameType: 'doubles',
2954
+ searchShow: false,
2955
+ ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2956
+ banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity'],
2957
+ },
2881
2958
  {
2882
2959
  name: "[Gen 5] VGC 2013",
2883
2960
  mod: 'gen5',
@@ -3004,7 +3081,7 @@ exports.Formats = [
3004
3081
  'Picked Team Size = 1', 'Max Team Size = 3',
3005
3082
  '[Gen 4] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview',
3006
3083
  ],
3007
- banlist: ['Latias', 'Machamp', 'Porygon-Z', 'Snorlax', 'Togekiss', 'Focus Sash', 'Destiny Bond', 'Explosion', 'Perish Song', 'Self-Destruct'],
3084
+ banlist: ['Latias', 'Machamp', 'Porygon-Z', 'Shaymin', 'Snorlax', 'Togekiss', 'Focus Sash', 'Destiny Bond', 'Explosion', 'Perish Song', 'Self-Destruct'],
3008
3085
  unbanlist: ['Wobbuffet', 'Wynaut', 'Sand Veil'],
3009
3086
  },
3010
3087
  {
@@ -3078,7 +3155,7 @@ exports.Formats = [
3078
3155
  ],
3079
3156
  mod: 'gen3',
3080
3157
  searchShow: false,
3081
- ruleset: ['Standard', 'Deoxys Camouflage Clause'],
3158
+ ruleset: ['Standard', 'Deoxys Camouflage Clause', 'One Baton Pass Clause'],
3082
3159
  banlist: ['Wobbuffet + Leftovers'],
3083
3160
  },
3084
3161
  {
@@ -3129,6 +3206,7 @@ exports.Formats = [
3129
3206
  '[Gen 3] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview',
3130
3207
  ],
3131
3208
  banlist: ['Clefable', 'Slaking', 'Snorlax', 'Suicune', 'Destiny Bond', 'Explosion', 'Ingrain', 'Perish Song', 'Self-Destruct', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw'],
3209
+ unbanlist: ['Mr. Mime', 'Wobbuffet', 'Wynaut', 'Sand Veil'],
3132
3210
  },
3133
3211
  {
3134
3212
  name: "[Gen 3] Custom Game",
@@ -3155,14 +3233,6 @@ exports.Formats = [
3155
3233
  searchShow: false,
3156
3234
  ruleset: ['Standard'],
3157
3235
  },
3158
- {
3159
- name: "[Gen 2] UU",
3160
- threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3576710/">GSC UU</a>`],
3161
- mod: 'gen2',
3162
- searchShow: false,
3163
- ruleset: ['[Gen 2] OU'],
3164
- banlist: ['OU', 'UUBL'],
3165
- },
3166
3236
  {
3167
3237
  name: "[Gen 2] NU",
3168
3238
  threads: [`&bullet; <a href="https://www.smogon.com/forums/threads/3642565/">GSC NU</a>`],
@@ -3180,7 +3250,10 @@ exports.Formats = [
3180
3250
  'Picked Team Size = 1', 'Max Team Size = 3',
3181
3251
  '[Gen 2] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview',
3182
3252
  ],
3183
- banlist: ['Clefable', 'Snorlax', 'Zapdos', 'Berserk Gene', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Destiny Bond', 'Explosion', 'Perish Song', 'Present', 'Self-Destruct'],
3253
+ banlist: [
3254
+ 'Clefable', 'Snorlax', 'Zapdos', 'Berserk Gene', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Quick Claw',
3255
+ 'Attract', 'Destiny Bond', 'Explosion', 'Perish Song', 'Present', 'Self-Destruct', 'Swagger',
3256
+ ],
3184
3257
  },
3185
3258
  {
3186
3259
  name: "[Gen 2] Nintendo Cup 2000",
@@ -3223,6 +3296,17 @@ exports.Formats = [
3223
3296
  searchShow: false,
3224
3297
  ruleset: ['Standard'],
3225
3298
  },
3299
+ {
3300
+ name: "[Gen 1] UU",
3301
+ threads: [
3302
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU Metagame Discussion</a>`,
3303
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Rankings</a>`,
3304
+ ],
3305
+ mod: 'gen1',
3306
+ searchShow: false,
3307
+ ruleset: ['[Gen 1] OU'],
3308
+ banlist: ['OU', 'UUBL'],
3309
+ },
3226
3310
  {
3227
3311
  name: "[Gen 1] NU",
3228
3312
  threads: [