@pkmn/sim 0.5.23 → 0.5.26

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 (74) hide show
  1. package/LICENSE +1 -1
  2. package/build/config/formats.js +323 -197
  3. package/build/config/formats.js.map +1 -1
  4. package/build/data/aliases.js +7 -3
  5. package/build/data/aliases.js.map +1 -1
  6. package/build/data/formats-data.js +823 -20
  7. package/build/data/formats-data.js.map +1 -1
  8. package/build/data/learnsets.js +64 -39
  9. package/build/data/learnsets.js.map +1 -1
  10. package/build/data/mods/gen1/formats-data.js +0 -5
  11. package/build/data/mods/gen1/formats-data.js.map +1 -1
  12. package/build/data/mods/gen1/moves.js +54 -22
  13. package/build/data/mods/gen1/moves.js.map +1 -1
  14. package/build/data/mods/gen2/moves.js +0 -5
  15. package/build/data/mods/gen2/moves.js.map +1 -1
  16. package/build/data/mods/gen2/rulesets.js +7 -1
  17. package/build/data/mods/gen2/rulesets.js.map +1 -1
  18. package/build/data/mods/gen3/rulesets.js +1 -1
  19. package/build/data/mods/gen3/rulesets.js.map +1 -1
  20. package/build/data/mods/gen4/rulesets.js +1 -1
  21. package/build/data/mods/gen4/rulesets.js.map +1 -1
  22. package/build/data/mods/gen5/rulesets.js +1 -1
  23. package/build/data/mods/gen5/rulesets.js.map +1 -1
  24. package/build/data/mods/gen6/formats-data.js +14 -14
  25. package/build/data/mods/gen6/formats-data.js.map +1 -1
  26. package/build/data/mods/gen7/pokedex.js +4 -5
  27. package/build/data/mods/gen7/pokedex.js.map +1 -1
  28. package/build/data/mods/gen7/rulesets.js +1 -1
  29. package/build/data/mods/gen7/rulesets.js.map +1 -1
  30. package/build/data/pokedex.js +8 -8
  31. package/build/data/pokedex.js.map +1 -1
  32. package/build/data/rulesets.js +125 -3
  33. package/build/data/rulesets.js.map +1 -1
  34. package/build/data/tags.js +26 -9
  35. package/build/data/tags.js.map +1 -1
  36. package/build/lib/utils.d.ts +4 -0
  37. package/build/lib/utils.js +20 -1
  38. package/build/lib/utils.js.map +1 -1
  39. package/build/sim/battle.d.ts +1 -1
  40. package/build/sim/battle.js.map +1 -1
  41. package/build/sim/dex-conditions.d.ts +1 -0
  42. package/build/sim/dex-conditions.js.map +1 -1
  43. package/build/sim/dex-species.d.ts +5 -0
  44. package/build/sim/dex-species.js +11 -3
  45. package/build/sim/dex-species.js.map +1 -1
  46. package/build/sim/exported-global-types.d.ts +2 -0
  47. package/build/sim/global-types.d.ts +2 -0
  48. package/build/sim/team-validator.js +14 -3
  49. package/build/sim/team-validator.js.map +1 -1
  50. package/config/formats.ts +328 -199
  51. package/data/aliases.ts +7 -3
  52. package/data/formats-data.ts +823 -20
  53. package/data/learnsets.ts +64 -39
  54. package/data/mods/gen1/formats-data.ts +0 -5
  55. package/data/mods/gen1/moves.ts +54 -23
  56. package/data/mods/gen2/moves.ts +0 -5
  57. package/data/mods/gen2/rulesets.ts +8 -1
  58. package/data/mods/gen3/rulesets.ts +1 -1
  59. package/data/mods/gen4/rulesets.ts +1 -1
  60. package/data/mods/gen5/rulesets.ts +1 -1
  61. package/data/mods/gen6/formats-data.ts +14 -14
  62. package/data/mods/gen7/pokedex.ts +4 -5
  63. package/data/mods/gen7/rulesets.ts +1 -1
  64. package/data/pokedex.ts +8 -8
  65. package/data/rulesets.ts +121 -3
  66. package/data/tags.ts +27 -9
  67. package/lib/utils.ts +16 -0
  68. package/package.json +2 -2
  69. package/sim/battle.ts +1 -1
  70. package/sim/dex-conditions.ts +1 -0
  71. package/sim/dex-species.ts +15 -3
  72. package/sim/exported-global-types.ts +2 -0
  73. package/sim/global-types.ts +2 -0
  74. package/sim/team-validator.ts +15 -3
package/config/formats.ts CHANGED
@@ -86,10 +86,7 @@ export const Formats: FormatList = [
86
86
 
87
87
  mod: 'gen8',
88
88
  ruleset: ['Standard', 'Dynamax Clause'],
89
- banlist: [
90
- 'Uber', 'AG', 'Arena Trap', 'Moody', 'Power Construct', 'Sand Veil', 'Shadow Tag', 'Snow Cloak',
91
- 'Bright Powder', 'King\'s Rock', 'Lax Incense', 'Baton Pass',
92
- ],
89
+ banlist: ['Uber', 'AG', 'Arena Trap', 'Moody', 'Power Construct', 'Sand Veil', 'Shadow Tag', 'Snow Cloak', 'King\'s Rock', 'Baton Pass'],
93
90
  },
94
91
  {
95
92
  name: "[Gen 8] OU (Blitz)",
@@ -148,7 +145,7 @@ export const Formats: FormatList = [
148
145
  {
149
146
  name: "[Gen 8] PU",
150
147
  threads: [
151
- `&bullet; <a href="https://www.smogon.com/forums/threads/3686048/">PU Metagame Discussion</a>`,
148
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3707179/">PU Metagame Discussion</a>`,
152
149
  `&bullet; <a href="https://www.smogon.com/forums/threads/3676106/">PU Viability Rankings</a>`,
153
150
  ],
154
151
 
@@ -167,8 +164,8 @@ export const Formats: FormatList = [
167
164
  mod: 'gen8',
168
165
  ruleset: ['Little Cup', 'Standard', 'Dynamax Clause'],
169
166
  banlist: [
170
- 'Corsola-Galar', 'Cutiefly', 'Drifloon', 'Gastly', 'Gothita', 'Rufflet', 'Scraggy', 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Vullaby', 'Vulpix-Alola', 'Woobat', 'Zigzagoon-Base',
171
- 'Chlorophyll', 'Moody', 'Baton Pass', 'Sticky Web',
167
+ 'Corsola-Galar', 'Cutiefly', 'Drifloon', 'Gastly', 'Gothita', 'Rufflet', 'Scraggy', 'Scyther', 'Sneasel', 'Swirlix',
168
+ 'Tangela', 'Vullaby', 'Vulpix-Alola', 'Woobat', 'Zigzagoon-Base', 'Chlorophyll', 'Moody', 'Baton Pass', 'Sticky Web',
172
169
  ],
173
170
  },
174
171
  {
@@ -186,8 +183,8 @@ export const Formats: FormatList = [
186
183
  'Blaziken', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dracovish', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh',
187
184
  'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel',
188
185
  'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Urshifu-Base', 'Xerneas', 'Yveltal',
189
- 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Moody', 'Power Construct', 'Shadow Tag', 'Bright Powder',
190
- 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw', 'Smooth Rock', 'Terrain Extender', 'Acupressure', 'Baton Pass',
186
+ 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Moody', 'Power Construct', 'Shadow Tag', 'Damp Rock',
187
+ 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Smooth Rock', 'Terrain Extender', 'Acupressure', 'Baton Pass',
191
188
  ],
192
189
  },
193
190
  {
@@ -287,19 +284,27 @@ export const Formats: FormatList = [
287
284
  name: "[Gen 8] Battle Stadium Singles",
288
285
 
289
286
  mod: 'gen8',
290
- ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'Limit Two Restricted'],
291
- restricted: ['Restricted Legendary'],
287
+ ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
288
+ banlist: ['Eternatus-Eternamax'],
289
+ unbanlist: ['Mythical', 'Restricted Legendary'],
292
290
  },
293
291
  {
294
- name: "[Gen 8] I Choose 'Chu!",
292
+ name: "[Gen 8] Champion League",
295
293
  threads: [
296
- `&bullet; <a href="https://www.smogon.com/forums/threads/3705481/">I Choose 'Chu! Discussion</a>`,
294
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3707533/">Champion League Discussion</a>`,
297
295
  ],
298
296
 
299
297
  mod: 'gen8',
300
298
  ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
301
- banlist: ['All Pokemon', 'Raichu-Alola + Sing'],
302
- unbanlist: ['Pichu', 'Pikachu', 'Raichu'],
299
+ banlist: ['All Pokemon'],
300
+ unbanlist: [
301
+ 'Venusaur', 'Charizard', 'Blastoise', 'Sandslash-Base', 'Ninetales-Base', 'Arcanine', 'Alakazam', 'Tentacruel', 'Magneton', 'Cloyster',
302
+ 'Exeggutor-Base', 'Rhydon', 'Gyarados', 'Lapras', 'Vaporeon', 'Jolteon', 'Flareon', 'Aerodactyl', 'Dragonite', 'Heracross', 'Skarmory',
303
+ 'Tyranitar', 'Ludicolo', 'Aggron', 'Wailord', 'Altaria', 'Whiscash', 'Claydol', 'Cradily', 'Armaldo', 'Milotic', 'Salamence',
304
+ 'Metagross', 'Roserade', 'Gastrodon', 'Spiritomb', 'Garchomp', 'Lucario', 'Rhyperior', 'Togekiss', 'Seismitoad', 'Archeops',
305
+ 'Vanilluxe', 'Escavalier', 'Haxorus', 'Accelgor', 'Druddigon', 'Bouffalant', 'Hydreigon', 'Volcarona', 'Aegislash', 'Tyrantrum',
306
+ 'Aurorus', 'Hawlucha', 'Carbink', 'Goodra', 'Gourgeist', 'Rillaboom', 'Cinderace', 'Inteleon', 'Mr. Rime', 'Dragapult',
307
+ ],
303
308
  },
304
309
  {
305
310
  name: "[Gen 8] Custom Game",
@@ -386,6 +391,22 @@ export const Formats: FormatList = [
386
391
  ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer', 'Limit Two Restricted'],
387
392
  restricted: ['Restricted Legendary'],
388
393
  },
394
+ {
395
+ name: "[Gen 8] Battle Stadium Doubles Series 13",
396
+
397
+ mod: 'gen8',
398
+ gameType: 'doubles',
399
+ ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer'],
400
+ banlist: ['Eternatus-Eternamax'],
401
+ unbanlist: ['Mythical', 'Restricted Legendary'],
402
+ },
403
+ {
404
+ name: "[Gen 8] Spikemuth Cup",
405
+
406
+ mod: 'gen8',
407
+ gameType: 'doubles',
408
+ ruleset: ['Flat Rules', 'Dynamax Clause', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer'],
409
+ },
389
410
  {
390
411
  name: "[Gen 8] VGC 2021",
391
412
 
@@ -492,17 +513,7 @@ export const Formats: FormatList = [
492
513
 
493
514
  mod: 'gen8',
494
515
  ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Dynamax Clause', 'Sleep Clause Mod'],
495
- banlist: [
496
- 'Alakazam-Mega', 'Arceus', 'Blastoise-Mega', 'Blaziken-Mega', 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darkrai',
497
- 'Darmanitan-Galar', 'Deoxys-Attack', 'Deoxys-Base', 'Deoxys-Speed', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus',
498
- 'Genesect', 'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-Black',
499
- 'Kyurem-White', 'Landorus-Base', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Metagross-Mega', 'Mewtwo',
500
- 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Necrozma-Ultra', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram',
501
- 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian',
502
- 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Zygarde-Complete', 'Arena Trap', 'Moody',
503
- 'Power Construct', 'Sand Veil', 'Shadow Tag', 'Snow Cloak', 'Bright Powder', 'King\'s Rock', 'Lax Incense', 'Razor Fang',
504
- 'Quick Claw', 'Baton Pass',
505
- ],
516
+ banlist: ['ND Uber', 'Arena Trap', 'Moody', 'Power Construct', 'Sand Veil', 'Shadow Tag', 'Snow Cloak', 'Bright Powder', 'King\'s Rock', 'Lax Incense', 'Razor Fang', 'Quick Claw', 'Baton Pass'],
506
517
  },
507
518
  {
508
519
  name: "[Gen 8] National Dex UU",
@@ -514,25 +525,18 @@ export const Formats: FormatList = [
514
525
 
515
526
  mod: 'gen8',
516
527
  ruleset: ['[Gen 8] National Dex'],
517
- banlist: [
518
- // National Dex OU
519
- 'Blissey', 'Chansey', 'Charizard-Mega-X', 'Charizard-Mega-Y', 'Clefable', 'Corviknight', 'Diancie-Mega', 'Excadrill',
520
- 'Ferrothorn', 'Garchomp', 'Gliscor', 'Greninja', 'Heatran', 'Kartana', 'Kommo-o', 'Kyurem', 'Landorus-Therian', 'Lopunny-Mega',
521
- 'Magnezone', 'Mawile-Mega', 'Pelipper', 'Rillaboom', 'Scizor-Mega', 'Serperior', 'Slowbro-Base', 'Swampert-Mega', 'Tapu Fini',
522
- 'Tapu Koko', 'Tapu Lele', 'Toxapex', 'Tyranitar', 'Victini', 'Volcarona', 'Weavile', 'Zapdos-Base',
523
- 'ND UUBL', // National Dex UUBL
524
- 'Drizzle', 'Drought', 'Light Clay',
525
- // Slowbronite is banned so it doesn't validate on Galarian Slowbro
526
- 'Slowbronite',
527
- ],
528
- // Used to distinguish UU from below UU in the client
529
- restricted: [
530
- 'Aegislash', 'Altaria-Mega', 'Amoonguss', 'Azumarill', 'Beedrill-Mega', 'Breloom', 'Celesteela', 'Chandelure', 'Donphan', 'Dracozolt',
531
- 'Dragonite', 'Feraligatr', 'Gastrodon', 'Hatterene', 'Hippowdon', 'Infernape', 'Keldeo', 'Krookodile', 'Mamoswine', 'Mandibuzz',
532
- 'Manectric-Mega', 'Melmetal', 'Mienshao', 'Moltres-Base', 'Nidoking', 'Nidoqueen', 'Nihilego', 'Quagsire', 'Regieleki', 'Ribombee',
533
- 'Rotom-Heat', 'Rotom-Wash', 'Salamence', 'Scizor', 'Skarmory', 'Slowking-Base', 'Swampert-Base', 'Talonflame', 'Tangrowth', 'Tornadus-Base',
534
- 'Umbreon', 'Urshifu-Rapid-Strike',
528
+ banlist: ['ND OU', 'ND UUBL', 'Drizzle', 'Drought', 'Light Clay', 'Slowbronite'],
529
+ },
530
+ {
531
+ name: "[Gen 8] National Dex RU",
532
+ threads: [
533
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3691290/">National Dex RU</a>`,
535
534
  ],
535
+
536
+ mod: 'gen8',
537
+ searchShow: false,
538
+ ruleset: ['[Gen 8] National Dex UU'],
539
+ banlist: ['ND UU', 'ND RUBL'],
536
540
  },
537
541
  {
538
542
  name: "[Gen 8] National Dex Monotype",
@@ -571,41 +575,56 @@ export const Formats: FormatList = [
571
575
  section: "Pet Mods",
572
576
  },
573
577
  {
574
- name: "[Gen 8] Restrictions",
575
- desc: `A metagame made up of brand new Pok&eacute;mon that are made according to various random and non-random restrictions.`,
578
+ name: "[Gen 8] National Dex BH",
579
+ desc: `Balanced Hackmons with National Dex elements mixed in.`,
576
580
  threads: [
577
- `&bullet; <a href="https://www.smogon.com/forums/threads/3673824/">Restrictions</a>`,
578
- `&bullet; <a href="https://docs.google.com/spreadsheets/d/1XsplBqN8njHZJT9cTP_3i3YSFITB9WaVfNOYAbNY75M/edit?usp=sharing">Spreadsheet</a>`,
581
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3658587/">National Dex Balanced Hackmons</a>`,
579
582
  ],
580
- mod: 'restrictions',
581
- ruleset: ['Standard', 'Dynamax Clause'],
582
- banlist: ['All Pokemon', 'Past'],
583
- unbanlist: [
584
- 'Vulcaraptor', 'Parakinesis', 'Serpaint', 'Torgeist', 'Regolite', 'Polbearab', 'Centhorn', 'Donzyxote', 'Scimicobra', 'Folliclawe', 'Afloof', 'Nimbusteed',
585
- 'Aerock', 'Borassa', 'Sharm', 'Nunopod', 'Crypterid', 'Abysseil', 'Faerenheit', 'Spiriteal', 'Zoltanka', 'Flydra', 'Coracrab', 'Quadringo', 'Teslaple',
586
- 'Kapagon', 'Cyknight', 'Dirtoad', 'Crystelf', 'Rancourgar', 'Scalaron', 'Dragraceful', 'Tantrary', 'Modolith', 'Snailord', 'Arbrella', 'Draugelid',
587
- 'Cinnastar', 'Refluse', 'Kelven', 'Kodokai', 'Cindarner', 'Thucotuco', 'Sorree', 'Gembezzle', 'Winterloper', 'Agapest', 'Volvolpa', 'Punduluum', 'Wraithful',
588
- 'Panzarma', 'Krachiten', 'Cellsius', 'Borelem', 'Electangle', 'Orchile', 'Shinodori', 'Fluidrake', 'Potossum', 'Twygdrasill',
583
+ mod: 'gen8',
584
+ ruleset: ['-Nonexistent', 'Standard NatDex', 'Forme Clause', 'Sleep Moves Clause', '2 Ability Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Dynamax Clause', 'CFZ Clause', '!Obtainable'],
585
+ banlist: [
586
+ // Pokemon
587
+ 'Eternatus-Eternamax', 'Groudon-Primal', 'Rayquaza-Mega', 'Shedinja', 'Cramorant-Gorging', 'Calyrex-Shadow',
588
+ // Abilities
589
+ 'Arena Trap', 'Contrary', 'Gorilla Tactics', 'Huge Power', 'Illusion', 'Innards Out', 'Libero', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Protean', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble', 'Wonder Guard',
590
+ // Items
591
+ 'Gengarite',
592
+ // Moves
593
+ 'Chatter', 'Double Iron Bash', 'Octolock', 'Shell Smash', 'Bolt Beak', 'Belly Drum', 'Electrify', 'Court Change',
594
+ // Other
595
+ 'Comatose + Sleep Talk', 'Imprison + Transform',
589
596
  ],
597
+ onValidateSet(set) {
598
+ if (this.toID(set.ability) === 'intrepidsword' &&
599
+ !this.toID(set.species).startsWith('zacian') && this.toID(set.item) !== 'rustedsword') {
600
+ return [`${set.ability} is banned.`];
601
+ }
602
+ if (set.species === 'Zacian-Crowned' &&
603
+ (this.toID(set.item) !== 'rustedsword' || this.toID(set.ability) !== 'intrepidsword')) {
604
+ return [`${set.species} is banned.`];
605
+ }
606
+ },
607
+ onValidateTeam(team) {
608
+ let arceus = 0;
609
+ for (const set of team) {
610
+ const species = this.dex.species.get(set.species);
611
+ if (species.baseSpecies === "Arceus") arceus++;
612
+ }
613
+ if (arceus > 1) {
614
+ return [`You are limited to one Arceus forme.`, `(You have ${arceus} Arceus formes.)`];
615
+ }
616
+ },
590
617
  },
591
618
  {
592
- name: "[Gen 8] Roulettemons Random Battle",
619
+ name: "[Gen 8] JolteMons Random Battle",
620
+ desc: `Pok&eacute;mon, items, abilities, and moves are redesigned for OU, and new items, abilities, and moves are added, all without changing base stats.`,
593
621
  threads: [
594
- `&bullet; <a href="https://www.smogon.com/forums/threads/3649106/">Roulettemons</a>`,
595
- `&bullet; <a href="https://docs.google.com/spreadsheets/d/1EOA1m7JXTq7Zz0ViVI4n6lBppFjVBa4S1GqhAwkPTZQ/edit?usp=sharing">Spreadsheet</a>`,
622
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694234/">JolteMons</a>`,
623
+ `&bullet; <a href="https://docs.google.com/spreadsheets/d/149ZlQY0bJIAqfWB_233Dvbpqs3pVSHYpIoAQQkwquls/edit?usp=sharing">Spreadsheet</a>`,
596
624
  ],
625
+ mod: 'joltemons',
597
626
  team: 'random',
598
- mod: 'roulettemons',
599
- ruleset: ['Standard NatDex'],
600
- onSwitchIn(pokemon) {
601
- this.add('-start', pokemon, 'typechange', pokemon.species.types.join('/'), '[silent]');
602
- },
603
- onChangeSet(set) {
604
- if (set.species === 'Chillyte-Mega') {
605
- set.species = 'Chillyte';
606
- set.ability = 'Grassy Surge';
607
- }
608
- },
627
+ ruleset: ['Dynamax Clause', 'Obtainable', 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod', 'Mega Data Mod', 'Z-Move Clause'],
609
628
  },
610
629
  {
611
630
  name: "[Gen 6] NEXT OU",
@@ -628,42 +647,116 @@ export const Formats: FormatList = [
628
647
  column: 2,
629
648
  },
630
649
  {
631
- name: "[Gen 8] Re-Evolution",
632
- desc: `Pok&eacute;mon gain the stat changes they would gain from evolving again.`,
650
+ name: "[Gen 8] Partners in Crime",
651
+ desc: `Doubles-based metagame where both active ally Pok&eacute;mon share abilities and moves.`,
633
652
  threads: [
634
- `&bullet; <a href="https://www.smogon.com/forums/threads/3703643/">Re-Evolution</a>`,
653
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3706080/">Partners in Crime</a>`,
635
654
  ],
636
655
 
637
- mod: 'gen8',
638
- ruleset: ['Standard', 'Re-Evolution Mod', 'Evasion Abilities Clause', 'Dynamax Clause'],
656
+ mod: 'partnersincrime',
657
+ gameType: 'doubles',
658
+ // searchShow: false,
659
+ ruleset: ['Standard Doubles', 'Dynamax Clause'],
639
660
  banlist: [
640
- 'Darmanitan-Galar', 'Gyarados', 'Lunala', 'Milotic', 'Naganadel', 'Solgaleo', 'Urshifu-Base', 'Volcarona',
641
- 'Zacian-Crowned', 'Arena Trap', 'Moody', 'Shadow Tag', 'Bright Powder', 'King\'s Rock', 'Lax Incense', 'Baton Pass',
661
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh',
662
+ 'Jirachi', 'Kyogre', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mewtwo',
663
+ 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Urshifu-Base',
664
+ 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Emergency Exit',
665
+ 'Huge Power', 'Moody', 'Power Construct', 'Shadow Tag', 'Wimp Out', 'Wonder Guard', 'Bolt Beak', 'Fishious Rend',
666
+ 'Shell Smash', 'Swagger',
642
667
  ],
668
+ onBeforeSwitchIn(pokemon) {
669
+ pokemon.m.curMoves = this.dex.deepClone(pokemon.moves);
670
+ let ngas = false;
671
+ for (const poke of this.getAllActive()) {
672
+ if (this.toID(poke.ability) === ('neutralizinggas' as ID)) {
673
+ ngas = true;
674
+ break;
675
+ }
676
+ }
677
+ const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas'];
678
+ // Abilities that must be applied before both sides trigger onSwitchIn to correctly
679
+ // handle switch-in ability-to-ability interactions, e.g. Intimidate counters
680
+ const NEEDED_BEFORE_SWITCH_IN_ABILITIES = [
681
+ 'clearbody', 'competitive', 'contrary', 'defiant', 'fullmetalbody', 'hypercutter', 'innerfocus',
682
+ 'mirrorarmor', 'oblivious', 'owntempo', 'rattled', 'scrappy', 'simple', 'whitesmoke',
683
+ ];
684
+ const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
685
+ if (ally && ally.ability !== pokemon.ability) {
686
+ if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability)) &&
687
+ NEEDED_BEFORE_SWITCH_IN_ABILITIES.includes(this.toID(ally.ability))) {
688
+ pokemon.m.innate = 'ability:' + ally.ability;
689
+ delete pokemon.volatiles[pokemon.m.innate];
690
+ if (!ngas || ally.getAbility().isPermanent) pokemon.addVolatile(pokemon.m.innate);
691
+ }
692
+ if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability)) &&
693
+ NEEDED_BEFORE_SWITCH_IN_ABILITIES.includes(this.toID(pokemon.ability))) {
694
+ ally.m.innate = 'ability:' + pokemon.ability;
695
+ delete ally.volatiles[ally.m.innate];
696
+ if (!ngas || pokemon.getAbility().isPermanent) ally.addVolatile(ally.m.innate);
697
+ }
698
+ }
699
+ },
700
+ onSwitchInPriority: 2,
701
+ onSwitchIn(pokemon) {
702
+ let ngas = false;
703
+ for (const poke of this.getAllActive()) {
704
+ if (this.toID(poke.ability) === ('neutralizinggas' as ID)) {
705
+ ngas = true;
706
+ break;
707
+ }
708
+ }
709
+ const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas'];
710
+ const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
711
+ if (ally && ally.ability !== pokemon.ability) {
712
+ if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability))) {
713
+ pokemon.m.innate = 'ability:' + ally.ability;
714
+ delete pokemon.volatiles[pokemon.m.innate];
715
+ if (!ngas || ally.getAbility().isPermanent) pokemon.addVolatile(pokemon.m.innate);
716
+ }
717
+ if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability))) {
718
+ ally.m.innate = 'ability:' + pokemon.ability;
719
+ delete ally.volatiles[ally.m.innate];
720
+ if (!ngas || pokemon.getAbility().isPermanent) ally.addVolatile(ally.m.innate);
721
+ }
722
+ }
723
+ },
724
+ onSwitchOut(pokemon) {
725
+ if (pokemon.m.innate) {
726
+ pokemon.removeVolatile(pokemon.m.innate);
727
+ delete pokemon.m.innate;
728
+ }
729
+ const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
730
+ if (ally && ally.m.innate) {
731
+ ally.removeVolatile(ally.m.innate);
732
+ delete ally.m.innate;
733
+ }
734
+ },
735
+ onFaint(pokemon) {
736
+ if (pokemon.m.innate) {
737
+ pokemon.removeVolatile(pokemon.m.innate);
738
+ delete pokemon.m.innate;
739
+ }
740
+ const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
741
+ if (ally && ally.m.innate) {
742
+ ally.removeVolatile(ally.m.innate);
743
+ delete ally.m.innate;
744
+ }
745
+ },
643
746
  },
644
747
  {
645
- name: "[Gen 8] Category Swap",
646
- desc: `All physical moves become special, and all special moves become physical.`,
748
+ name: "[Gen 8] Chimera 1v1",
749
+ desc: `One Pok&eacute;mon inherits specific traits from your entire 6-mon team, based on their order.`,
647
750
  threads: [
648
- `&bullet; <a href="https://www.smogon.com/forums/threads/3702709/">Category Swap</a>`,
751
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3661215/">Chimera 1v1</a>`,
649
752
  ],
650
753
 
651
754
  mod: 'gen8',
652
- ruleset: ['Standard', 'Dynamax Clause'],
755
+ ruleset: ['Chimera 1v1 Rule', 'Standard', 'Dynamax Clause', 'Sleep Moves Clause'],
653
756
  banlist: [
654
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon',
655
- 'Ho-Oh', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Mewtwo', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane',
656
- 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned',
657
- 'Zekrom', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'King\'s Rock', 'Baton Pass', 'Draco Meteor', 'Overheat',
658
- ],
659
- onModifyMove(move) {
660
- if (move.category === 'Status') return;
661
- if (move.category === 'Special') {
662
- move.category = 'Physical';
663
- } else {
664
- move.category = 'Special';
665
- }
666
- },
757
+ 'Shedinja', 'Huge Power', 'Moody', 'Neutralizing Gas', 'Truant', 'Perish Body', 'Eviolite', 'Focus Sash', 'Leek', 'Light Ball',
758
+ 'Bolt Beak', 'Disable', 'Double Iron Bash', 'Fishious Rend', 'Perish Song', 'Switcheroo', 'Transform', 'Trick',
759
+ ],
667
760
  },
668
761
 
669
762
  // Other Metagames
@@ -700,16 +793,16 @@ export const Formats: FormatList = [
700
793
  ],
701
794
 
702
795
  mod: 'gen8',
703
- ruleset: ['Standard', '!Obtainable Abilities', '2 Ability Clause', 'Dynamax Clause', 'Sleep Moves Clause', '!Sleep Clause Mod'],
796
+ ruleset: ['Standard OMs', '!Obtainable Abilities', '2 Ability Clause', 'Sleep Moves Clause'],
704
797
  banlist: [
705
- 'Archeops', 'Blacephalon', 'Buzzwole', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Gengar',
706
- 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Keldeo', 'Kommo-o', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White',
798
+ 'Archeops', 'Blacephalon', 'Buzzwole', 'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus',
799
+ 'Gengar', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Keldeo', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White',
707
800
  'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern',
708
801
  'Palkia', 'Pheromosa', 'Rayquaza', 'Regigigas', 'Reshiram', 'Shedinja', 'Solgaleo', 'Spectrier', 'Urshifu', 'Urshifu-Rapid-Strike',
709
- 'Victini', 'Weavile', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom', 'Zeraora', 'Zygarde-Base',
710
- 'Arena Trap', 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter',
711
- 'Innards Out', 'Intrepid Sword', 'Libero', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Poison Heal', 'Protean',
712
- 'Pure Power', 'Shadow Tag', 'Simple', 'Stakeout', 'Speed Boost', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
802
+ 'Victini', 'Weavile', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta-Base', 'Zekrom', 'Zeraora', 'Zygarde-Base', 'Arena Trap',
803
+ 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter', 'Innards Out',
804
+ 'Intrepid Sword', 'Libero', 'Magic Bounce', 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Poison Heal', 'Protean',
805
+ 'Pure Power', 'Shadow Tag', 'Simple', 'Stakeout', 'Speed Boost', 'Unburden', 'Water Bubble', 'Wonder Guard', 'King\'s Rock', 'Baton Pass',
713
806
  ],
714
807
  },
715
808
  {
@@ -721,7 +814,7 @@ export const Formats: FormatList = [
721
814
  ],
722
815
 
723
816
  mod: 'mixandmega',
724
- ruleset: ['Standard', 'Overflow Stat Mod', 'Dynamax Clause'],
817
+ ruleset: ['Standard OMs', 'Sleep Clause Mod'],
725
818
  banlist: [
726
819
  'Calyrex-Shadow', 'Eternatus', 'Kyogre', 'Zacian',
727
820
  'Beedrillite', 'Blazikenite', 'Gengarite', 'Kangaskhanite', 'Mawilite', 'Medichamite', 'Pidgeotite',
@@ -790,7 +883,7 @@ export const Formats: FormatList = [
790
883
  ],
791
884
 
792
885
  mod: 'gen8',
793
- ruleset: ['Standard', 'STABmons Move Legality', 'Dynamax Clause', 'Sleep Moves Clause', '!Sleep Clause Mod'],
886
+ ruleset: ['Standard OMs', 'STABmons Move Legality', 'Sleep Moves Clause'],
794
887
  banlist: [
795
888
  'Aegislash', 'Blacephalon', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus',
796
889
  'Genesect', 'Garchomp', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus',
@@ -814,7 +907,7 @@ export const Formats: FormatList = [
814
907
  ],
815
908
 
816
909
  mod: 'gen8',
817
- ruleset: ['Not Fully Evolved', 'Standard', 'Dynamax Clause'],
910
+ ruleset: ['Standard OMs', 'Not Fully Evolved', 'Sleep Clause Mod'],
818
911
  banlist: [
819
912
  'Chansey', 'Doublade', 'Golbat', 'Haunter', 'Kadabra', 'Magmar', 'Magneton', 'Mr. Mime-Galar', 'Pawniard', 'Pikachu',
820
913
  'Porygon2', 'Rhydon', 'Scyther', 'Sneasel', 'Type: Null', 'Vulpix-Base', 'Arena Trap', 'Shadow Tag', 'Baton Pass',
@@ -828,12 +921,12 @@ export const Formats: FormatList = [
828
921
  ],
829
922
 
830
923
  mod: 'gen8',
831
- ruleset: ['Standard', 'Dynamax Clause', 'Sleep Moves Clause'],
924
+ ruleset: ['Standard OMs', 'Sleep Moves Clause'],
832
925
  banlist: [
833
- 'Blissey', 'Calyrex-Shadow', 'Chansey', 'Crawdaunt', 'Dragapult', 'Eternatus', 'Hawlucha', 'Marowak-Alola', 'Melmetal', 'Nidoking',
834
- 'Nidoqueen', 'Pikachu', 'Toxapex', 'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power',
835
- 'Moody', 'Pure Power', 'Shadow Tag', 'Swift Swim', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw',
836
- 'Baton Pass',
926
+ 'Blissey', 'Calyrex-Shadow', 'Chansey', 'Crawdaunt', 'Dragapult', 'Eternatus', 'Hawlucha', 'Kyogre', 'Marowak-Alola', 'Melmetal',
927
+ 'Nidoking', 'Nidoqueen', 'Pikachu', 'Toxapex', 'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap',
928
+ 'Huge Power', 'Moody', 'Pure Power', 'Shadow Tag', 'Swift Swim', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Lax Incense',
929
+ 'Quick Claw', 'Baton Pass',
837
930
  ],
838
931
  onValidateTeam(team) {
839
932
  const gods = new Set<string>();
@@ -909,6 +1002,10 @@ export const Formats: FormatList = [
909
1002
  'Decorate', 'Final Gambit', 'Flatter', 'Floral Healing', 'Flower Shield', 'Follow Me', 'Heal Pulse', 'Rage Powder', 'Swagger',
910
1003
  ],
911
1004
  },
1005
+
1006
+ // Brilliant Diamond/Shining Pearl
1007
+ ///////////////////////////////////////////////////////////////////
1008
+
912
1009
  {
913
1010
  section: "BD/SP",
914
1011
  column: 2,
@@ -934,10 +1031,7 @@ export const Formats: FormatList = [
934
1031
 
935
1032
  mod: 'gen8bdsp',
936
1033
  ruleset: ['Standard'],
937
- banlist: [
938
- 'Uber', 'Arena Trap', 'Drizzle', 'Moody', 'Sand Veil', 'Shadow Tag', 'Snow Cloak',
939
- 'Bright Powder', 'King\'s Rock', 'Lax Incense', 'Razor Fang', 'Baton Pass',
940
- ],
1034
+ banlist: ['Uber', 'Arena Trap', 'Drizzle', 'Moody', 'Sand Veil', 'Shadow Tag', 'Snow Cloak', 'King\'s Rock', 'Razor Fang', 'Baton Pass'],
941
1035
  },
942
1036
  {
943
1037
  name: "[Gen 8 BDSP] Ubers",
@@ -946,6 +1040,7 @@ export const Formats: FormatList = [
946
1040
  ],
947
1041
 
948
1042
  mod: 'gen8bdsp',
1043
+ searchShow: false,
949
1044
  ruleset: ['Standard'],
950
1045
  banlist: ['AG', 'Baton Pass'],
951
1046
  },
@@ -956,6 +1051,7 @@ export const Formats: FormatList = [
956
1051
  ],
957
1052
 
958
1053
  mod: 'gen8bdsp',
1054
+ searchShow: false,
959
1055
  ruleset: ['[Gen 8 BDSP] OU'],
960
1056
  banlist: ['OU', 'UUBL'],
961
1057
  },
@@ -966,6 +1062,7 @@ export const Formats: FormatList = [
966
1062
  ],
967
1063
 
968
1064
  mod: 'gen8bdsp',
1065
+ searchShow: false,
969
1066
  ruleset: ['[Gen 8 BDSP] UU'],
970
1067
  banlist: ['UU', 'RUBL', 'Drought'],
971
1068
  },
@@ -976,6 +1073,7 @@ export const Formats: FormatList = [
976
1073
  ],
977
1074
 
978
1075
  mod: 'gen8bdsp',
1076
+ searchShow: false,
979
1077
  ruleset: ['[Gen 8 BDSP] RU'],
980
1078
  banlist: ['RU', 'NUBL', 'Damp Rock', 'Heat Rock'],
981
1079
  },
@@ -986,6 +1084,7 @@ export const Formats: FormatList = [
986
1084
  ],
987
1085
 
988
1086
  mod: 'gen8bdsp',
1087
+ searchShow: false,
989
1088
  ruleset: ['[Gen 8 BDSP] NU'],
990
1089
  banlist: ['NU', 'PUBL'],
991
1090
  },
@@ -996,6 +1095,7 @@ export const Formats: FormatList = [
996
1095
  ],
997
1096
 
998
1097
  mod: 'gen8bdsp',
1098
+ searchShow: false,
999
1099
  ruleset: ['Little Cup', 'Standard'],
1000
1100
  banlist: ['Gligar', 'Meditite', 'Misdreavus', 'Munchlax', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Vulpix', 'Yanma', 'Moody', 'Baton Pass', 'Sticky Web'],
1001
1101
  },
@@ -1006,6 +1106,7 @@ export const Formats: FormatList = [
1006
1106
  ],
1007
1107
 
1008
1108
  mod: 'gen8bdsp',
1109
+ searchShow: false,
1009
1110
  ruleset: ['[Gen 8 BDSP] OU', 'Same Type Clause'],
1010
1111
  },
1011
1112
  {
@@ -1018,16 +1119,6 @@ export const Formats: FormatList = [
1018
1119
  searchShow: false,
1019
1120
  ruleset: ['[Gen 8 BDSP] OU', '+CAP'],
1020
1121
  },
1021
- {
1022
- name: "[Gen 8 BDSP] 3v3 Singles",
1023
- threads: [
1024
- `&bullet; <a href="https://www.smogon.com/forums/threads/3695092/">BDSP 3v3 Singles</a>`,
1025
- ],
1026
-
1027
- mod: 'gen8bdsp',
1028
- searchShow: false,
1029
- ruleset: ['Flat Rules', 'Min Source Gen = 8'],
1030
- },
1031
1122
  {
1032
1123
  name: "[Gen 8 BDSP] Doubles OU",
1033
1124
  threads: [
@@ -1047,8 +1138,13 @@ export const Formats: FormatList = [
1047
1138
 
1048
1139
  mod: 'gen8bdsp',
1049
1140
  gameType: 'doubles',
1141
+ searchShow: false,
1050
1142
  ruleset: ['Flat Rules', 'Min Source Gen = 8'],
1051
1143
  },
1144
+
1145
+ // Challengeable OMs
1146
+ ///////////////////////////////////////////////////////////////////
1147
+
1052
1148
  {
1053
1149
  section: "Challengeable OMs",
1054
1150
  column: 2,
@@ -1062,7 +1158,7 @@ export const Formats: FormatList = [
1062
1158
 
1063
1159
  mod: 'gen8',
1064
1160
  searchShow: false,
1065
- ruleset: ['Standard', 'Dynamax Clause', 'Camomons Mod'],
1161
+ ruleset: ['Standard OMs', 'Camomons Mod', 'Sleep Clause Mod'],
1066
1162
  banlist: [
1067
1163
  'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin',
1068
1164
  'Groudon', 'Ho-Oh', 'Hydreigon', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala', 'Marshadow',
@@ -1080,7 +1176,7 @@ export const Formats: FormatList = [
1080
1176
 
1081
1177
  mod: 'gen8',
1082
1178
  searchShow: false,
1083
- ruleset: ['Standard', 'Overflow Stat Mod', 'Dynamax Clause', '2 Ability Clause'],
1179
+ ruleset: ['Standard OMs', '2 Ability Clause', 'Sleep Clause Mod'],
1084
1180
  banlist: ['Corsola-Galar', 'Sneasel', 'Type: Null', 'Arena Trap', 'Ice Scales', 'Moody', 'King\'s Rock', 'Baton Pass'],
1085
1181
  restricted: ['Chansey', 'Lunala', 'Shedinja', 'Solgaleo', 'Gorilla Tactics', 'Huge Power', 'Pure Power', 'Shadow Tag'],
1086
1182
  onValidateTeam(team) {
@@ -1217,7 +1313,7 @@ export const Formats: FormatList = [
1217
1313
 
1218
1314
  mod: 'gen8',
1219
1315
  searchShow: false,
1220
- ruleset: ['Standard', '!Sleep Clause Mod', 'Sleep Moves Clause', '2 Ability Clause', 'Dynamax Clause'],
1316
+ ruleset: ['Standard OMs', '2 Ability Clause', 'Sleep Moves Clause'],
1221
1317
  banlist: [
1222
1318
  'Blacephalon', 'Blaziken', 'Butterfree', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chansey', 'Combusken', 'Cresselia', 'Darmanitan-Galar', 'Dialga',
1223
1319
  'Dracovish', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia',
@@ -1400,7 +1496,7 @@ export const Formats: FormatList = [
1400
1496
 
1401
1497
  mod: 'linked',
1402
1498
  searchShow: false,
1403
- ruleset: ['Standard', 'Dynamax Clause'],
1499
+ ruleset: ['Standard OMs', 'Sleep Clause Mod'],
1404
1500
  banlist: [
1405
1501
  'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Cloyster', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Eternatus', 'Genesect', 'Giratina',
1406
1502
  'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala',
@@ -1433,7 +1529,7 @@ export const Formats: FormatList = [
1433
1529
 
1434
1530
  mod: 'gen8',
1435
1531
  searchShow: false,
1436
- ruleset: ['Standard', 'Dynamax Clause', '2 Ability Clause', 'Sleep Moves Clause', '!Sleep Clause Mod'],
1532
+ ruleset: ['Standard OMs', '2 Ability Clause', 'Sleep Moves Clause'],
1437
1533
  banlist: [
1438
1534
  'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus',
1439
1535
  'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White',
@@ -1623,7 +1719,7 @@ export const Formats: FormatList = [
1623
1719
 
1624
1720
  mod: 'gen8',
1625
1721
  searchShow: false,
1626
- ruleset: ['Standard', 'Dynamax Clause'],
1722
+ ruleset: ['Standard OMs', 'Sleep Clause Mod'],
1627
1723
  banlist: [
1628
1724
  'Blissey', 'Calyrex-Ice', 'Calyrex-Shadow', 'Chansey', 'Cloyster', 'Dialga', 'Eternatus', 'Genesect', 'Giratina',
1629
1725
  'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala',
@@ -1677,7 +1773,7 @@ export const Formats: FormatList = [
1677
1773
  ],
1678
1774
  mod: 'pokebilities',
1679
1775
  searchShow: false,
1680
- ruleset: ['Standard', 'Dynamax Clause'],
1776
+ ruleset: ['Standard OMs', 'Sleep Clause Mod'],
1681
1777
  banlist: [
1682
1778
  'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Conkeldurr', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dracozolt',
1683
1779
  'Eternatus', 'Excadrill', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-Black',
@@ -1716,10 +1812,26 @@ export const Formats: FormatList = [
1716
1812
  .filter(ability => ability !== pokemon.ability);
1717
1813
  }
1718
1814
  },
1815
+ onBeforeSwitchIn(pokemon) {
1816
+ // Abilities that must be applied before both sides trigger onSwitchIn to correctly
1817
+ // handle switch-in ability-to-ability interactions, e.g. Intimidate counters
1818
+ const neededBeforeSwitchInIDs = [
1819
+ 'clearbody', 'competitive', 'contrary', 'defiant', 'fullmetalbody', 'hypercutter', 'innerfocus',
1820
+ 'mirrorarmor', 'oblivious', 'owntempo', 'rattled', 'scrappy', 'simple', 'whitesmoke',
1821
+ ];
1822
+ if (pokemon.m.innates) {
1823
+ for (const innate of pokemon.m.innates) {
1824
+ if (!neededBeforeSwitchInIDs.includes(innate)) continue;
1825
+ if (pokemon.hasAbility(innate)) continue;
1826
+ pokemon.addVolatile("ability:" + innate, pokemon);
1827
+ }
1828
+ }
1829
+ },
1719
1830
  onSwitchInPriority: 2,
1720
1831
  onSwitchIn(pokemon) {
1721
1832
  if (pokemon.m.innates) {
1722
1833
  for (const innate of pokemon.m.innates) {
1834
+ if (pokemon.hasAbility(innate)) continue;
1723
1835
  pokemon.addVolatile("ability:" + innate, pokemon);
1724
1836
  }
1725
1837
  }
@@ -1762,7 +1874,7 @@ export const Formats: FormatList = [
1762
1874
 
1763
1875
  mod: 'sharedpower',
1764
1876
  searchShow: false,
1765
- ruleset: ['Standard', 'Dynamax Clause'],
1877
+ ruleset: ['Standard OMs', 'Sleep Clause Mod'],
1766
1878
  banlist: [
1767
1879
  'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Eternatus', 'Genesect', 'Giratina',
1768
1880
  'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna',
@@ -1826,7 +1938,7 @@ export const Formats: FormatList = [
1826
1938
  searchShow: false,
1827
1939
  challengeShow: false,
1828
1940
  tournamentShow: false,
1829
- ruleset: ['Standard', 'Dynamax Clause'],
1941
+ ruleset: ['Standard OMs', 'Sleep Clause Mod'],
1830
1942
  banlist: [
1831
1943
  'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus', 'Kyurem-Black', 'Kyurem-White', 'Giratina',
1832
1944
  'Giratina-Origin', 'Genesect', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Lugia', 'Lunala', 'Magearna', 'Marowak-Alola', 'Marshadow', 'Melmetal',
@@ -1933,7 +2045,7 @@ export const Formats: FormatList = [
1933
2045
 
1934
2046
  mod: 'gen8',
1935
2047
  searchShow: false,
1936
- ruleset: ['Standard', '!OHKO Clause', 'Picked Team Size = 6', 'Adjust Level = 100'],
2048
+ ruleset: ['Standard OMs', 'Sleep Clause Mod', '!OHKO Clause', 'Picked Team Size = 6', 'Adjust Level = 100'],
1937
2049
  banlist: [
1938
2050
  'Sandshrew-Alola', 'Shedinja', 'Infiltrator', 'Magic Guard', 'Choice Scarf',
1939
2051
  'Explosion', 'Final Gambit', 'Healing Wish', 'Lunar Dance', 'Magic Room', 'Memento', 'Misty Explosion', 'Self-Destruct',
@@ -2060,6 +2172,21 @@ export const Formats: FormatList = [
2060
2172
  },
2061
2173
  },
2062
2174
 
2175
+ // Randomized Format Spotlight
2176
+ ///////////////////////////////////////////////////////////////////
2177
+
2178
+ {
2179
+ section: "Randomized Format Spotlight",
2180
+ column: 2,
2181
+ },
2182
+ {
2183
+ name: "[Gen 3] Challenge Cup",
2184
+
2185
+ mod: 'gen3',
2186
+ team: 'randomCC',
2187
+ ruleset: ['Obtainable', 'HP Percentage Mod', 'Cancel Mod'],
2188
+ },
2189
+
2063
2190
  // Randomized Metas
2064
2191
  ///////////////////////////////////////////////////////////////////
2065
2192
 
@@ -2401,39 +2528,44 @@ export const Formats: FormatList = [
2401
2528
  column: 3,
2402
2529
  },
2403
2530
  {
2404
- name: "[Gen 3] Ubers",
2531
+ name: "[Gen 4] Ubers",
2405
2532
  threads: [
2406
- `&bullet; <a href="https://www.smogon.com/forums/posts/8286280/">ADV Ubers</a>`,
2533
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8286279/">DPP Ubers</a>`,
2407
2534
  ],
2408
2535
 
2409
- mod: 'gen3',
2536
+ mod: 'gen4',
2410
2537
  // searchShow: false,
2411
- ruleset: ['Standard', 'Deoxys Camouflage Clause', 'One Baton Pass Clause'],
2412
- banlist: ['Wobbuffet + Leftovers'],
2538
+ ruleset: ['Standard'],
2539
+ banlist: ['AG'],
2413
2540
  },
2414
2541
  {
2415
- name: "[Gen 5] RU",
2542
+ name: "[Gen 4] LC",
2416
2543
  threads: [
2417
- `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
2418
- `&bullet; <a href="https://www.smogon.com/forums/threads/3473124/">BW2 RU Viability Rankings</a>`,
2544
+ `&bullet; <a href="https://www.smogon.com/dp/articles/little_cup_guide">DPP LC Guide</a>`,
2545
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7336500/">DPP LC Viability Rankings</a>`,
2419
2546
  ],
2420
2547
 
2421
- mod: 'gen5',
2548
+ mod: 'gen4',
2422
2549
  // searchShow: false,
2423
- ruleset: ['[Gen 5] UU', 'Baton Pass Clause', '!Sleep Clause Mod', 'Sleep Moves Clause'],
2424
- banlist: ['UU', 'RUBL', 'Shadow Tag', 'Shell Smash + Baton Pass'],
2425
- unbanlist: ['Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
2550
+ ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause'],
2551
+ banlist: [
2552
+ 'Meditite', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Yanma',
2553
+ 'Berry Juice', 'Deep Sea Tooth', 'Dragon Rage', 'Sonic Boom', 'Swagger',
2554
+ ],
2426
2555
  },
2427
2556
  {
2428
- name: "[Gen 7 Let's Go] UU",
2557
+ name: "[Gen 1] Nintendo Cup 1997",
2429
2558
  threads: [
2430
- `&bullet; <a href="https://www.smogon.com/forums/threads/3659882/">LGPE UU Metagame Discussion &amp; Resources</a>`,
2559
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3682412/">Nintendo Cup 1997 Discussion &amp; Resources</a>`,
2431
2560
  ],
2432
2561
 
2433
- mod: 'gen7letsgo',
2562
+ mod: 'gen1jpn',
2434
2563
  // searchShow: false,
2435
- ruleset: ['[Gen 7 Let\'s Go] OU'],
2436
- banlist: ['OU', 'UUBL'],
2564
+ ruleset: [
2565
+ 'Picked Team Size = 3', 'Min Level = 50', 'Max Level = 55', 'Max Total Level = 155',
2566
+ 'Obtainable', 'Team Preview', 'Stadium Sleep Clause', 'Species Clause', 'Nickname Clause', 'HP Percentage Mod', 'Cancel Mod', 'Nintendo Cup 1997 Move Legality',
2567
+ ],
2568
+ banlist: ['Uber'],
2437
2569
  },
2438
2570
 
2439
2571
  // Past Gens OU
@@ -2552,7 +2684,7 @@ export const Formats: FormatList = [
2552
2684
  ],
2553
2685
 
2554
2686
  mod: 'gen7mixandmega',
2555
- ruleset: ['Standard', 'Mega Rayquaza Clause', 'Overflow Stat Mod'],
2687
+ ruleset: ['Standard OMs', 'Mega Rayquaza Clause', 'Sleep Clause Mod'],
2556
2688
  banlist: ['Shadow Tag', 'Gengarite', 'Baton Pass', 'Electrify'],
2557
2689
  restricted: [
2558
2690
  'Arceus', 'Deoxys', 'Dialga', 'Dragonite', 'Giratina', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem', 'Landorus-Therian', 'Lugia',
@@ -2748,8 +2880,7 @@ export const Formats: FormatList = [
2748
2880
  'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega', 'Kartana', 'Kyogre', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna',
2749
2881
  'Marshadow', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia',
2750
2882
  'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Tapu Lele', 'Xerneas', 'Yveltal', 'Zekrom', 'Zygarde',
2751
- 'Battle Bond', 'Shadow Tag', 'Bright Powder', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw', 'Razor Fang',
2752
- 'Smooth Rock', 'Terrain Extender', 'Baton Pass',
2883
+ 'Battle Bond', 'Shadow Tag', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Smooth Rock', 'Terrain Extender', 'Baton Pass',
2753
2884
  ],
2754
2885
  },
2755
2886
  {
@@ -3062,8 +3193,7 @@ export const Formats: FormatList = [
3062
3193
  'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Greninja', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White',
3063
3194
  'Lucario-Mega', 'Lugia', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Sableye-Mega',
3064
3195
  'Salamence-Mega', 'Shaymin-Sky', 'Slowbro-Mega', 'Talonflame', 'Xerneas', 'Yveltal', 'Zekrom',
3065
- 'Shadow Tag', 'Bright Powder', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw', 'Razor Fang', 'Smooth Rock',
3066
- 'Soul Dew', 'Baton Pass',
3196
+ 'Shadow Tag', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Smooth Rock', 'Soul Dew', 'Baton Pass',
3067
3197
  ],
3068
3198
  },
3069
3199
  {
@@ -3284,6 +3414,19 @@ export const Formats: FormatList = [
3284
3414
  ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
3285
3415
  banlist: ['Uber', 'OU', 'UUBL', 'Arena Trap', 'Drought', 'Sand Stream', 'Snow Warning', 'Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
3286
3416
  },
3417
+ {
3418
+ name: "[Gen 5] RU",
3419
+ threads: [
3420
+ `&bullet; <a href="https://www.smogon.com/forums/posts/6431094/">BW2 Sample Teams</a>`,
3421
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3473124/">BW2 RU Viability Rankings</a>`,
3422
+ ],
3423
+
3424
+ mod: 'gen5',
3425
+ searchShow: false,
3426
+ ruleset: ['[Gen 5] UU', 'Baton Pass Clause', '!Sleep Clause Mod', 'Sleep Moves Clause'],
3427
+ banlist: ['UU', 'RUBL', 'Shadow Tag', 'Shell Smash + Baton Pass'],
3428
+ unbanlist: ['Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
3429
+ },
3287
3430
  {
3288
3431
  name: "[Gen 5] NU",
3289
3432
  threads: [
@@ -3332,6 +3475,7 @@ export const Formats: FormatList = [
3332
3475
  mod: 'gen5',
3333
3476
  searchShow: false,
3334
3477
  ruleset: ['[Gen 5] OU', 'Same Type Clause', '!Gems Clause'],
3478
+ banlist: ['Latios'],
3335
3479
  },
3336
3480
  {
3337
3481
  name: "[Gen 5] 1v1",
@@ -3346,7 +3490,7 @@ export const Formats: FormatList = [
3346
3490
  'Picked Team Size = 1', 'Max Team Size = 3',
3347
3491
  'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Accuracy Moves Clause', 'Sleep Moves Clause',
3348
3492
  ],
3349
- 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'],
3493
+ banlist: ['Uber', 'Cottonee', 'Dragonite', 'Jirachi', 'Kyurem-Black', 'Mew', 'Togekiss', 'Whimsicott', 'Victini', 'Focus Band', 'Focus Sash', 'Quick Claw', 'Soul Dew', 'Perish Song'],
3350
3494
  unbanlist: ['Genesect', 'Landorus', 'Manaphy', 'Thundurus', 'Tornadus-Therian'],
3351
3495
  },
3352
3496
  {
@@ -3458,17 +3602,6 @@ export const Formats: FormatList = [
3458
3602
  section: "DPP Singles",
3459
3603
  column: 5,
3460
3604
  },
3461
- {
3462
- name: "[Gen 4] Ubers",
3463
- threads: [
3464
- `&bullet; <a href="https://www.smogon.com/forums/posts/8286279/">DPP Ubers</a>`,
3465
- ],
3466
-
3467
- mod: 'gen4',
3468
- searchShow: false,
3469
- ruleset: ['Standard'],
3470
- banlist: ['AG'],
3471
- },
3472
3605
  {
3473
3606
  name: "[Gen 4] UU",
3474
3607
  threads: [
@@ -3512,21 +3645,6 @@ export const Formats: FormatList = [
3512
3645
  'Sharpedo', 'Shiftry', 'Skuntank', 'Slowking', 'Tauros', 'Typhlosion', 'Venomoth', 'Vileplume',
3513
3646
  ],
3514
3647
  },
3515
- {
3516
- name: "[Gen 4] LC",
3517
- threads: [
3518
- `&bullet; <a href="https://www.smogon.com/dp/articles/little_cup_guide">DPP LC Guide</a>`,
3519
- `&bullet; <a href="https://www.smogon.com/forums/posts/7336500/">DPP LC Viability Rankings</a>`,
3520
- ],
3521
-
3522
- mod: 'gen4',
3523
- searchShow: false,
3524
- ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause'],
3525
- banlist: [
3526
- 'Meditite', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Yanma',
3527
- 'Berry Juice', 'Deep Sea Tooth', 'Dragon Rage', 'Sonic Boom', 'Swagger',
3528
- ],
3529
- },
3530
3648
  {
3531
3649
  name: "[Gen 4] Anything Goes",
3532
3650
 
@@ -3634,6 +3752,17 @@ export const Formats: FormatList = [
3634
3752
  section: "Past Generations",
3635
3753
  column: 5,
3636
3754
  },
3755
+ {
3756
+ name: "[Gen 3] Ubers",
3757
+ threads: [
3758
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8286280/">ADV Ubers</a>`,
3759
+ ],
3760
+
3761
+ mod: 'gen3',
3762
+ searchShow: false,
3763
+ ruleset: ['Standard', 'Deoxys Camouflage Clause', 'One Baton Pass Clause'],
3764
+ banlist: ['Wobbuffet + Leftovers'],
3765
+ },
3637
3766
  {
3638
3767
  name: "[Gen 3] UU",
3639
3768
  threads: [
@@ -3644,7 +3773,7 @@ export const Formats: FormatList = [
3644
3773
  mod: 'gen3',
3645
3774
  searchShow: false,
3646
3775
  ruleset: ['Standard'],
3647
- banlist: ['Uber', 'OU', 'UUBL', 'Smeargle + Ingrain', 'Arena Trap', 'Bright Powder', 'Lax Incense', 'Baton Pass', 'Swagger'],
3776
+ banlist: ['Uber', 'OU', 'UUBL', 'Smeargle + Ingrain', 'Arena Trap', 'Baton Pass', 'Swagger'],
3648
3777
  },
3649
3778
  {
3650
3779
  name: "[Gen 3] NU",
@@ -3672,7 +3801,7 @@ export const Formats: FormatList = [
3672
3801
  ],
3673
3802
  banlist: [
3674
3803
  'Clefable', 'Slaking', 'Snorlax', 'Suicune', 'Zapdos', 'Destiny Bond', 'Explosion', 'Ingrain', 'Perish Song',
3675
- 'Self-Destruct', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw',
3804
+ 'Self-Destruct', 'Focus Band', 'King\'s Rock', 'Quick Claw',
3676
3805
  ],
3677
3806
  unbanlist: ['Mr. Mime', 'Wobbuffet', 'Wynaut', 'Sand Veil'],
3678
3807
  },
@@ -3747,7 +3876,7 @@ export const Formats: FormatList = [
3747
3876
  '[Gen 2] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview',
3748
3877
  ],
3749
3878
  banlist: [
3750
- 'Alakazam', 'Clefable', 'Snorlax', 'Zapdos', 'Berserk Gene', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Quick Claw',
3879
+ 'Alakazam', 'Clefable', 'Snorlax', 'Zapdos', 'Berserk Gene', 'Focus Band', 'King\'s Rock', 'Quick Claw',
3751
3880
  'Attract', 'Destiny Bond', 'Explosion', 'Perish Song', 'Present', 'Self-Destruct', 'Swagger',
3752
3881
  ],
3753
3882
  },
@@ -3820,26 +3949,26 @@ export const Formats: FormatList = [
3820
3949
  banlist: ['UU', 'NUBL'],
3821
3950
  },
3822
3951
  {
3823
- name: "[Gen 1] Japanese OU",
3824
- desc: `Generation 1 with Japanese battle mechanics.`,
3952
+ name: "[Gen 1] 1v1",
3953
+ threads: [
3954
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8031462">RBY 1v1</a>`,
3955
+ ],
3825
3956
 
3826
- mod: 'gen1jpn',
3957
+ mod: 'gen1',
3827
3958
  searchShow: false,
3828
- ruleset: ['Standard'],
3829
- banlist: ['Uber'],
3959
+ ruleset: [
3960
+ 'Picked Team Size = 1', 'Max Team Size = 3',
3961
+ '[Gen 1] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview',
3962
+ ],
3963
+ banlist: ['Bind', 'Clamp', 'Explosion', 'Fire Spin', 'Self-Destruct', 'Wrap'],
3830
3964
  },
3831
3965
  {
3832
- name: "[Gen 1] Nintendo Cup 1997",
3833
- threads: [
3834
- `&bullet; <a href="https://www.smogon.com/forums/threads/3682412/">Nintendo Cup 1997 Discussion &amp; Resources</a>`,
3835
- ],
3966
+ name: "[Gen 1] Japanese OU",
3967
+ desc: `Generation 1 with Japanese battle mechanics.`,
3836
3968
 
3837
3969
  mod: 'gen1jpn',
3838
3970
  searchShow: false,
3839
- ruleset: [
3840
- 'Picked Team Size = 3', 'Min Level = 50', 'Max Level = 55', 'Max Total Level = 155',
3841
- 'Obtainable', 'Team Preview', 'Sleep Clause Mod', 'Species Clause', 'Nickname Clause', 'HP Percentage Mod', 'Cancel Mod', 'Nintendo Cup 1997 Move Legality',
3842
- ],
3971
+ ruleset: ['Standard'],
3843
3972
  banlist: ['Uber'],
3844
3973
  },
3845
3974
  {