@pkmn/sim 0.4.21 → 0.4.25

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 (70) hide show
  1. package/build/config/formats.js +198 -136
  2. package/build/config/formats.js.map +1 -1
  3. package/build/data/aliases.js +5 -3
  4. package/build/data/aliases.js.map +1 -1
  5. package/build/data/conditions.js +5 -1
  6. package/build/data/conditions.js.map +1 -1
  7. package/build/data/formats-data.js +16 -16
  8. package/build/data/formats-data.js.map +1 -1
  9. package/build/data/mods/gen1/scripts.js +17 -20
  10. package/build/data/mods/gen1/scripts.js.map +1 -1
  11. package/build/data/mods/gen2/scripts.js +15 -21
  12. package/build/data/mods/gen2/scripts.js.map +1 -1
  13. package/build/data/mods/gen4/conditions.js +6 -0
  14. package/build/data/mods/gen4/conditions.js.map +1 -1
  15. package/build/data/mods/gen6/conditions.js +4 -1
  16. package/build/data/mods/gen6/conditions.js.map +1 -1
  17. package/build/data/mods/gen6/pokedex.js +17 -17
  18. package/build/data/mods/gen6/pokedex.js.map +1 -1
  19. package/build/data/mods/gen7/formats-data.js +2 -2
  20. package/build/data/mods/gen7/formats-data.js.map +1 -1
  21. package/build/data/moves.js +22 -9
  22. package/build/data/moves.js.map +1 -1
  23. package/build/data/rulesets.js +3 -1
  24. package/build/data/rulesets.js.map +1 -1
  25. package/build/lib/streams.d.ts +1 -199
  26. package/build/lib/streams.js +11 -772
  27. package/build/lib/streams.js.map +1 -1
  28. package/build/sim/battle-actions.d.ts +1 -1
  29. package/build/sim/battle-actions.js +19 -43
  30. package/build/sim/battle-actions.js.map +1 -1
  31. package/build/sim/battle.d.ts +1 -0
  32. package/build/sim/battle.js +5 -0
  33. package/build/sim/battle.js.map +1 -1
  34. package/build/sim/dex-moves.d.ts +31 -11
  35. package/build/sim/dex-moves.js +4 -3
  36. package/build/sim/dex-moves.js.map +1 -1
  37. package/build/sim/dex-species.js +11 -1
  38. package/build/sim/dex-species.js.map +1 -1
  39. package/build/sim/exported-global-types.d.ts +1 -0
  40. package/build/sim/global-types.d.ts +1 -0
  41. package/build/sim/side.js +2 -2
  42. package/build/sim/side.js.map +1 -1
  43. package/build/sim/team-validator.js +1 -1
  44. package/build/sim/team-validator.js.map +1 -1
  45. package/build/sim/tools/runner.d.ts +1 -6
  46. package/build/sim/tools/runner.js +6 -6
  47. package/build/sim/tools/runner.js.map +1 -1
  48. package/config/formats.ts +210 -141
  49. package/data/aliases.ts +5 -3
  50. package/data/conditions.ts +5 -1
  51. package/data/formats-data.ts +16 -16
  52. package/data/mods/gen1/scripts.ts +22 -18
  53. package/data/mods/gen2/scripts.ts +19 -18
  54. package/data/mods/gen4/conditions.ts +6 -0
  55. package/data/mods/gen6/conditions.ts +4 -1
  56. package/data/mods/gen6/pokedex.ts +17 -17
  57. package/data/mods/gen7/formats-data.ts +2 -2
  58. package/data/moves.ts +19 -9
  59. package/data/rulesets.ts +3 -1
  60. package/lib/streams.ts +1 -874
  61. package/package.json +3 -2
  62. package/sim/battle-actions.ts +20 -41
  63. package/sim/battle.ts +6 -0
  64. package/sim/dex-moves.ts +35 -13
  65. package/sim/dex-species.ts +10 -1
  66. package/sim/exported-global-types.ts +1 -0
  67. package/sim/global-types.ts +1 -0
  68. package/sim/side.ts +2 -2
  69. package/sim/team-validator.ts +1 -1
  70. package/sim/tools/runner.ts +2 -0
package/config/formats.ts CHANGED
@@ -55,6 +55,13 @@ export const Formats: FormatList = [
55
55
  rated: false,
56
56
  ruleset: ['Obtainable', 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod'],
57
57
  },
58
+ {
59
+ name: "[Gen 8] Random Battle (Blitz)",
60
+
61
+ mod: 'gen8',
62
+ team: 'random',
63
+ ruleset: ['[Gen 8] Random Battle', 'Blitz'],
64
+ },
58
65
  {
59
66
  name: "[Gen 8] Multi Random Battle",
60
67
 
@@ -133,7 +140,8 @@ export const Formats: FormatList = [
133
140
 
134
141
  mod: 'gen8',
135
142
  ruleset: ['[Gen 8] RU'],
136
- banlist: ['RU', 'NUBL', 'Drizzle', 'Drought', 'Snow Warning'],
143
+ banlist: ['RU', 'NUBL', 'Drizzle', 'Drought'],
144
+ unbanlist: ['Indeedee'],
137
145
  },
138
146
  {
139
147
  name: "[Gen 8] PU",
@@ -144,7 +152,7 @@ export const Formats: FormatList = [
144
152
 
145
153
  mod: 'gen8',
146
154
  ruleset: ['[Gen 8] NU'],
147
- banlist: ['NU', 'PUBL'],
155
+ banlist: ['NU', 'PUBL', 'Indeedee'],
148
156
  },
149
157
  {
150
158
  name: "[Gen 8] LC",
@@ -157,7 +165,7 @@ export const Formats: FormatList = [
157
165
  mod: 'gen8',
158
166
  ruleset: ['Little Cup', 'Standard', 'Dynamax Clause'],
159
167
  banlist: [
160
- 'Corsola-Galar', 'Cutiefly', 'Drifloon', 'Gastly', 'Gothita', 'Rufflet', 'Scraggy', 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Vullaby', 'Vulpix-Alola', 'Woobat',
168
+ 'Corsola-Galar', 'Cutiefly', 'Drifloon', 'Gastly', 'Gothita', 'Rufflet', 'Scraggy', 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Vullaby', 'Vulpix-Alola', 'Woobat', 'Zigzagoon-Base',
161
169
  'Chlorophyll', 'Moody', 'Baton Pass', 'Sticky Web',
162
170
  ],
163
171
  },
@@ -285,27 +293,6 @@ export const Formats: FormatList = [
285
293
  searchShow: false,
286
294
  ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
287
295
  },
288
- {
289
- name: "[Gen 8] Gym Challenge",
290
-
291
- mod: 'gen8',
292
- ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
293
- onValidateSet(set) {
294
- const gymMonsList = [
295
- 'ninetales', 'arcanine', 'machamp', 'ponytagalar', 'rapidashgalar', 'gengar', 'weezinggalar', 'goldeen', 'seaking', 'lapras', 'bellossom',
296
- 'quagsire', 'shuckle', 'hitmontop', 'tyranitar', 'ludicolo', 'shiftry', 'pelipper', 'gardevoir', 'mawile', 'torkoal', 'flygon', 'cherrim',
297
- 'skuntank', 'croagunk', 'toxicroak', 'togekiss', 'dusknoir', 'liepard', 'gigalith', 'darmanitangalar', 'scraggy', 'scrafty', 'yamaskgalar',
298
- 'gothita', 'gothorita', 'solosis', 'duosion', 'chandelure', 'pangoro', 'malamar', 'barbaracle', 'sylveon', 'hawlucha', 'goodra', 'toxapex',
299
- 'salazzle', 'tsareena', 'golisopod', 'turtonator', 'mimikyu', 'gossifleur', 'eldegoss', 'drednaw', 'coalossal', 'flapple', 'appletun',
300
- 'sandaconda', 'arrokuda', 'barraskewda', 'toxtricitylowkey', 'centiskorch', 'grapploct', 'polteageist', 'hatenna', 'hattrem', 'hatterene',
301
- 'grimmsnarl', 'obstagoon', 'cursola', 'sirfetchd', 'mrrime', 'runerigus', 'falinks', 'frosmoth', 'stonjourner', 'eiscue', 'morpeko', 'duraludon',
302
- ];
303
- const species = this.dex.species.get(set.species);
304
- if (!gymMonsList.includes(species.id) && !species.id.startsWith('alcremie')) {
305
- return [`${species.name} is not allowed in this competition.`];
306
- }
307
- },
308
- },
309
296
  {
310
297
  name: "[Gen 8] Custom Game",
311
298
 
@@ -380,6 +367,11 @@ export const Formats: FormatList = [
380
367
  },
381
368
  {
382
369
  name: "[Gen 8] VGC 2021 Series 11",
370
+ threads: [
371
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3677186/">VGC 2021 Series 11 Metagame Discussion</a>`,
372
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693427/">VGC 2021 Series 11 Sample Teams</a>`,
373
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693284/">VGC 2021 Series 11 Viability Rankings</a>`,
374
+ ],
383
375
 
384
376
  mod: 'gen8',
385
377
  gameType: 'doubles',
@@ -546,8 +538,8 @@ export const Formats: FormatList = [
546
538
  'Arceus', 'Blastoise-Mega', 'Blaziken', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Dialga', 'Dracovish', 'Dragapult',
547
539
  'Eternatus', 'Genesect', 'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega', 'Kartana', 'Kyogre',
548
540
  'Kyurem-Black', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo',
549
- 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo',
550
- 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base',
541
+ 'Moltres-Galar', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky',
542
+ 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base',
551
543
  'Battle Bond', 'Moody', 'Power Construct', 'Shadow Tag',
552
544
  'Bright Powder', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw', 'Smooth Rock', 'Terrain Extender', 'Baton Pass',
553
545
  ],
@@ -575,6 +567,7 @@ export const Formats: FormatList = [
575
567
  ],
576
568
 
577
569
  mod: "fusionevolutionuu",
570
+ searchShow: false,
578
571
  ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Dynamax Clause', 'Sleep Clause Mod', 'Z-Move Clause', 'Data Mod', 'Mega Data Mod'],
579
572
  banlist: [
580
573
  'All Pokemon', 'Lopunnite', 'Tapu Lop-Mega', 'Red Orb', 'Grousle-Primal',
@@ -621,44 +614,37 @@ export const Formats: FormatList = [
621
614
  column: 2,
622
615
  },
623
616
  {
624
- name: "[Gen 8] Sketchmons",
625
- desc: `Pok&eacute;mon can learn one of any move they don't normally learn, barring the few that are banned.`,
617
+ name: "[Gen 8] Revelationmons",
618
+ 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).`,
626
619
  threads: [
627
- `&bullet; <a href="https://www.smogon.com/forums/threads/3680298/">Sketchmons</a>`,
620
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3692297/">Revelationmons</a>`,
628
621
  ],
629
622
 
630
623
  mod: 'gen8',
631
- ruleset: ['Standard', 'Dynamax Clause', 'Sketchmons Move Legality'],
624
+ ruleset: ['Standard', 'Dynamax Clause', 'Revelationmons Mod'],
632
625
  banlist: [
633
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus', 'Excadrill',
634
- 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon', 'Hawlucha', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White',
635
- 'Landorus-Base', 'Lugia', 'Lunala', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia',
636
- 'Pheromosa', 'Porygon-Z', 'Rayquaza', 'Regieleki', 'Reshiram', 'Rillaboom', 'Shedinja', 'Solgaleo', 'Spectrier', 'Swoobat',
637
- 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zeraora',
638
- 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'King\'s Rock', 'Baton Pass',
639
- ],
640
- restricted: [
641
- 'Acupressure', 'Astral Barrage', 'Belly Drum', 'Bolt Beak', 'Clangorous Soul', 'Double Iron Bash', 'Electrify', 'Extreme Speed',
642
- 'Fishious Rend', 'Geomancy', 'Glacial Lance', 'Lovely Kiss', 'No Retreat', 'Oblivion Wing', 'Octolock', 'Quiver Dance', 'Secret Sword',
643
- 'Shell Smash', 'Shift Gear', 'Sleep Powder', 'Spore', 'Thousand Arrows', 'Transform', 'V-create', 'Wicked Blow',
626
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Dragapult', 'Eternatus', 'Genesect',
627
+ 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kommo-o', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia',
628
+ 'Lunala', 'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia',
629
+ 'Pheromosa', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
630
+ 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody', 'Power Construct', 'Shadow Tag',
631
+ 'King\'s Rock', 'Baton Pass',
644
632
  ],
633
+ restricted: ['Bolt Beak', 'U-turn', 'Volt Switch'],
645
634
  },
646
635
  {
647
- name: "[Gen 8] AAA Doubles",
648
- desc: `Pok&eacute;mon have access to almost any ability, in a doubles setting.`,
636
+ name: "[Gen 8 BDSP] Balanced Hackmons",
637
+ desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
649
638
  threads: [
650
- `&bullet; <a href="https://www.smogon.com/forums/posts/8299984">AAA Doubles</a>`,
639
+ `&bullet; <a href="https://www.smogon.com/forums/posts/9043074">BDSP Balanced Hackmons</a>`,
651
640
  ],
652
641
 
653
- mod: 'gen8',
654
- gameType: 'doubles',
655
- ruleset: ['Standard', 'Dynamax Clause', '2 Ability Clause', '!Obtainable Abilities'],
642
+ mod: 'gen8bdsp',
643
+ ruleset: ['-Nonexistent', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Moves Clause', 'Endless Battle Clause'],
656
644
  banlist: [
657
- 'DUber', 'Kartana', 'Kyurem-Black', 'Regigigas', 'Shedinja', 'Zygarde-Base', 'Urshifu-Rapid-Strike',
658
- 'Anger Point', 'Arena Trap', 'Comatose', 'Contrary', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion',
659
- 'Imposter', 'Innards Out', 'Intrepid Sword', 'Libero', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Protean', 'Pure Power', 'Rattled',
660
- 'Serene Grace', 'Shadow Tag', 'Simple', 'Soul-Heart', 'Stakeout', 'Steam Engine', 'Speed Boost', 'Water Bubble', 'Wonder Guard',
661
- 'Weakness Policy', 'Beat Up', 'Stored Power',
645
+ 'Arena Trap', 'Contrary', 'Gorilla Tactics', 'Huge Power', 'Illusion', 'Innards Out', 'Intrepid Sword', 'Libero',
646
+ 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Protean', 'Pure Power', 'Shadow Tag', 'Stakeout',
647
+ 'Water Bubble', 'Wonder Guard', 'Comatose + Sleep Talk', 'Chatter', 'Shell Smash',
662
648
  ],
663
649
  },
664
650
 
@@ -806,12 +792,12 @@ export const Formats: FormatList = [
806
792
  mod: 'gen8',
807
793
  ruleset: ['Standard', 'STABmons Move Legality', 'Dynamax Clause', 'Sleep Moves Clause'],
808
794
  banlist: [
809
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus', 'Genesect', 'Garchomp', 'Giratina',
810
- 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus', 'Landorus-Therian', 'Lugia', 'Lunala',
811
- 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Porygon-Z', 'Rayquaza', 'Reshiram',
812
- 'Silvally', 'Solgaleo', 'Spectrier', 'Tapu Bulu', 'Tapu Koko', 'Thundurus-Base', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
813
- 'Zamazenta', 'Zamazenta-Crowned', 'Zapdos-Galar', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody', 'Power Construct', 'Shadow Tag',
814
- 'King\'s Rock', 'Baton Pass',
795
+ 'Aegislash', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Genesect',
796
+ 'Garchomp', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus', 'Landorus-Therian',
797
+ 'Lugia', 'Lunala', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Porygon-Z',
798
+ 'Rayquaza', 'Reshiram', 'Silvally', 'Solgaleo', 'Spectrier', 'Tapu Bulu', 'Tapu Koko', 'Thundurus-Base', 'Urshifu-Base', 'Xerneas', 'Yveltal',
799
+ 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zapdos-Galar', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody',
800
+ 'Power Construct', 'Shadow Tag', 'King\'s Rock', 'Baton Pass',
815
801
  ],
816
802
  restricted: [
817
803
  'Acupressure', 'Astral Barrage', 'Belly Drum', 'Bolt Beak', 'Clangorous Soul', 'Double Iron Bash', 'Electrify', 'Extreme Speed', 'Fishious Rend',
@@ -852,6 +838,98 @@ export const Formats: FormatList = [
852
838
  'Decorate', 'Final Gambit', 'Flatter', 'Floral Healing', 'Flower Shield', 'Follow Me', 'Heal Pulse', 'Rage Powder', 'Swagger',
853
839
  ],
854
840
  },
841
+ {
842
+ section: "BD/SP",
843
+ column: 2,
844
+ },
845
+ {
846
+ name: "[Gen 8 BDSP] Random Battle",
847
+ desc: `Randomized teams of level-balanced Pok&eacute;mon with sets that are generated to be competitively viable.`,
848
+ threads: [
849
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693955/">BDSP Random Battle Set Discussion</a>`,
850
+ ],
851
+
852
+ mod: 'gen8bdsp',
853
+ team: 'random',
854
+ ruleset: ['[Gen 8] Random Battle', '!PotD'],
855
+ },
856
+ {
857
+ name: "[Gen 8 BDSP] OU",
858
+ threads: [
859
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693629/">BDSP OU Metagame Discussion</a>`,
860
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693620/">BDSP OU Viability List</a>`,
861
+ ],
862
+
863
+ mod: 'gen8bdsp',
864
+ ruleset: ['Standard'],
865
+ banlist: ['Uber', 'Arena Trap', 'Drizzle', 'Moody', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Baton Pass'],
866
+ },
867
+ {
868
+ name: "[Gen 8 BDSP] Ubers",
869
+ threads: [
870
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694036/">BDSP Ubers Discussion &amp; Resources</a>`,
871
+ ],
872
+
873
+ mod: 'gen8bdsp',
874
+ ruleset: ['Standard'],
875
+ banlist: ['AG', 'Baton Pass'],
876
+ },
877
+ {
878
+ name: "[Gen 8 BDSP] UU",
879
+ threads: [
880
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694299/">BDSP UU</a>`,
881
+ ],
882
+
883
+ mod: 'gen8bdsp',
884
+ ruleset: ['[Gen 8 BDSP] OU'],
885
+ banlist: ['OU', 'UUBL'],
886
+ },
887
+ {
888
+ name: "[Gen 8 BDSP] Monotype",
889
+ threads: [
890
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694267/">BDSP Monotype</a>`,
891
+ ],
892
+
893
+ mod: 'gen8bdsp',
894
+ ruleset: ['Standard', 'Same Type Clause'],
895
+ banlist: [
896
+ 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza',
897
+ 'Arena Trap', 'Moody', 'Shadow Tag', 'Damp Rock', 'King\'s Rock', 'Razor Fang', 'Baton Pass',
898
+ ],
899
+ },
900
+ {
901
+ name: "[Gen 8 BDSP] Doubles OU",
902
+ threads: [
903
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693891/">BDSP Doubles OU</a>`,
904
+ ],
905
+
906
+ mod: 'gen8bdsp',
907
+ gameType: 'doubles',
908
+ ruleset: ['Standard Doubles'],
909
+ banlist: ['DUber'],
910
+ },
911
+ {
912
+ name: "[Gen 8 BDSP] Battle Festival Doubles",
913
+ threads: [
914
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694269/">Battle Festival Doubles</a>`,
915
+ ],
916
+
917
+ mod: 'gen8bdsp',
918
+ gameType: 'doubles',
919
+ // VGC Timer is temporary
920
+ ruleset: ['Flat Rules', 'Min Source Gen = 8', 'VGC Timer'],
921
+ },
922
+ {
923
+ name: "[Gen 8 BDSP] Pure Hackmons",
924
+ desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
925
+ threads: [
926
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693868/">Pure Hackmons</a>`,
927
+ ],
928
+
929
+ mod: 'gen8bdsp',
930
+ searchShow: false,
931
+ ruleset: ['-Nonexistent', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause'],
932
+ },
855
933
  {
856
934
  section: "Challengeable OMs",
857
935
  column: 2,
@@ -1369,17 +1447,6 @@ export const Formats: FormatList = [
1369
1447
  },
1370
1448
  },
1371
1449
  },
1372
- {
1373
- name: "[Gen 8] Pure Hackmons",
1374
- desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
1375
- threads: [
1376
- `&bullet; <a href="https://www.smogon.com/forums/threads/3656851/">Pure Hackmons</a>`,
1377
- ],
1378
-
1379
- mod: 'gen8',
1380
- searchShow: false,
1381
- ruleset: ['-Nonexistent', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause'],
1382
- },
1383
1450
  {
1384
1451
  name: "[Gen 8] Shared Power",
1385
1452
  desc: `Once a Pok&eacute;mon switches in, its ability is shared with the rest of the team.`,
@@ -1696,6 +1763,7 @@ export const Formats: FormatList = [
1696
1763
 
1697
1764
  mod: 'gen8',
1698
1765
  team: 'random',
1766
+ searchShow: false,
1699
1767
  ruleset: ['[Gen 8] Random Battle', 'Dynamax Clause'],
1700
1768
  },
1701
1769
  {
@@ -1971,40 +2039,50 @@ export const Formats: FormatList = [
1971
2039
  column: 3,
1972
2040
  },
1973
2041
  {
1974
- name: "[Gen 6] Ubers",
2042
+ name: "[Gen 1] UU",
1975
2043
  threads: [
1976
- `&bullet; <a href="https://www.smogon.com/forums/posts/8286277/">ORAS Ubers</a>`,
2044
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU Metagame Discussion</a>`,
2045
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Rankings</a>`,
1977
2046
  ],
1978
2047
 
1979
- mod: 'gen6',
2048
+ mod: 'gen1',
1980
2049
  // searchShow: false,
1981
- ruleset: ['Standard', 'Swagger Clause', 'Mega Rayquaza Clause'],
2050
+ ruleset: ['[Gen 1] OU'],
2051
+ banlist: ['OU', 'UUBL'],
1982
2052
  },
1983
2053
  {
1984
- name: "[Gen 4] UU",
2054
+ name: "[Gen 6] 1v1",
2055
+ desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
1985
2056
  threads: [
1986
- `&bullet; <a href="https://www.smogon.com/forums/threads/3532624/">DPP UU Metagame Discussion</a>`,
1987
- `&bullet; <a href="https://www.smogon.com/forums/threads/3503638/">DPP UU Viability Rankings</a>`,
2057
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8031459/">ORAS 1v1</a>`,
1988
2058
  ],
1989
2059
 
1990
- mod: 'gen4',
2060
+ mod: 'gen6',
1991
2061
  // searchShow: false,
1992
- ruleset: ['[Gen 4] OU'],
1993
- banlist: ['OU', 'UUBL'],
1994
- unbanlist: ['Arena Trap'],
2062
+ ruleset: [
2063
+ 'Max Team Size = 3', 'Picked Team Size = 1',
2064
+ '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',
2065
+ ],
2066
+ banlist: [
2067
+ 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2068
+ 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2069
+ 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2070
+ 'Focus Sash', 'Soul Dew', 'Perish Song',
2071
+ ],
1995
2072
  },
1996
2073
  {
1997
- name: "[Gen 3] Doubles OU",
2074
+ name: "[Gen 5] Doubles OU",
1998
2075
  threads: [
1999
- `&bullet; <a href="https://www.smogon.com/forums/threads/3666831/">ADV Doubles OU</a>`,
2076
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3606719/">BW2 Doubles Metagame Discussion</a>`,
2077
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7393048/">BW2 Doubles Viability Rankings</a>`,
2078
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7393081/">BW2 Doubles Sample Teams</a>`,
2000
2079
  ],
2001
2080
 
2002
- mod: 'gen3',
2003
- // searchShow: false,
2081
+ mod: 'gen5',
2004
2082
  gameType: 'doubles',
2005
- ruleset: ['Standard', '!Sleep Clause Mod', '!Switch Priority Clause Mod'],
2006
- banlist: ['Uber'],
2007
- unbanlist: ['Deoxys-Speed', 'Wobbuffet', 'Wynaut'],
2083
+ // searchShow: false,
2084
+ ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2085
+ banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity'],
2008
2086
  },
2009
2087
 
2010
2088
  // Past Gens OU
@@ -2109,7 +2187,7 @@ export const Formats: FormatList = [
2109
2187
  ],
2110
2188
 
2111
2189
  mod: 'gen7',
2112
- ruleset: ['-Nonexistent', '2 Ability Clause', 'OHKO Clause', 'Evasion Moves Clause', 'CFZ Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod', 'Endless Battle Clause'],
2190
+ ruleset: ['-Nonexistent', '2 Ability Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Forme Clause', 'CFZ Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod', 'Endless Battle Clause'],
2113
2191
  banlist: [
2114
2192
  'Groudon-Primal', 'Rayquaza-Mega', 'Gengarite', 'Comatose + Sleep Talk', 'Chatter',
2115
2193
  'Arena Trap', 'Contrary', 'Huge Power', 'Illusion', 'Innards Out', 'Magnet Pull', 'Moody', 'Parental Bond', 'Protean', 'Psychic Surge', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble', 'Wonder Guard',
@@ -2544,6 +2622,16 @@ export const Formats: FormatList = [
2544
2622
  section: "OR/AS Singles",
2545
2623
  column: 4,
2546
2624
  },
2625
+ {
2626
+ name: "[Gen 6] Ubers",
2627
+ threads: [
2628
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8286277/">ORAS Ubers</a>`,
2629
+ ],
2630
+
2631
+ mod: 'gen6',
2632
+ searchShow: false,
2633
+ ruleset: ['Standard', 'Swagger Clause', 'Mega Rayquaza Clause'],
2634
+ },
2547
2635
  {
2548
2636
  name: "[Gen 6] UU",
2549
2637
  threads: [
@@ -2626,26 +2714,6 @@ export const Formats: FormatList = [
2626
2714
  'Soul Dew', 'Baton Pass',
2627
2715
  ],
2628
2716
  },
2629
- {
2630
- name: "[Gen 6] 1v1",
2631
- desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
2632
- threads: [
2633
- `&bullet; <a href="https://www.smogon.com/forums/posts/8031459/">ORAS 1v1</a>`,
2634
- ],
2635
-
2636
- mod: 'gen6',
2637
- searchShow: false,
2638
- ruleset: [
2639
- 'Max Team Size = 3', 'Picked Team Size = 1',
2640
- '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',
2641
- ],
2642
- banlist: [
2643
- 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2644
- 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2645
- 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2646
- 'Focus Sash', 'Soul Dew', 'Perish Song',
2647
- ],
2648
- },
2649
2717
  {
2650
2718
  name: "[Gen 6] Anything Goes",
2651
2719
  threads: [
@@ -2828,8 +2896,8 @@ export const Formats: FormatList = [
2828
2896
 
2829
2897
  mod: 'gen5',
2830
2898
  searchShow: false,
2831
- ruleset: ['Standard', 'Evasion Abilities Clause', 'Baton Pass Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2832
- banlist: ['Uber', 'OU', 'UUBL', 'Arena Trap', 'Drought', 'Sand Stream', 'Snow Warning'],
2899
+ ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2900
+ banlist: ['Uber', 'OU', 'UUBL', 'Arena Trap', 'Drought', 'Sand Stream', 'Snow Warning', 'Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
2833
2901
  },
2834
2902
  {
2835
2903
  name: "[Gen 5] RU",
@@ -2840,8 +2908,9 @@ export const Formats: FormatList = [
2840
2908
 
2841
2909
  mod: 'gen5',
2842
2910
  searchShow: false,
2843
- ruleset: ['[Gen 5] UU', '!Sleep Clause Mod', 'Sleep Moves Clause'],
2911
+ ruleset: ['[Gen 5] UU', 'Baton Pass Clause', '!Sleep Clause Mod', 'Sleep Moves Clause'],
2844
2912
  banlist: ['UU', 'RUBL', 'Shadow Tag', 'Shell Smash + Baton Pass'],
2913
+ unbanlist: ['Prankster + Assist', 'Prankster + Copycat', 'Baton Pass'],
2845
2914
  },
2846
2915
  {
2847
2916
  name: "[Gen 5] NU",
@@ -2852,8 +2921,8 @@ export const Formats: FormatList = [
2852
2921
 
2853
2922
  mod: 'gen5',
2854
2923
  searchShow: false,
2855
- ruleset: ['[Gen 5] RU', '!Sleep Moves Clause', 'Sleep Clause Mod', '+Shadow Tag'],
2856
- banlist: ['RU', 'NUBL', 'Prankster + Assist'],
2924
+ ruleset: ['[Gen 5] RU', '!Sleep Moves Clause', 'Sleep Clause Mod'],
2925
+ banlist: ['RU', 'NUBL', 'Assist', 'Copycat'],
2857
2926
  },
2858
2927
  {
2859
2928
  name: "[Gen 5] PU",
@@ -2864,7 +2933,7 @@ export const Formats: FormatList = [
2864
2933
  mod: 'gen5',
2865
2934
  searchShow: false,
2866
2935
  ruleset: ['[Gen 5] NU', 'Sleep Moves Clause'],
2867
- banlist: ['NU', 'Combusken', 'Gothorita', 'Linoone', 'Riolu', 'Rotom-Frost', 'Throh', 'Vigoroth'],
2936
+ banlist: ['NU', 'Combusken', 'Gothorita', 'Linoone', 'Riolu', 'Rotom-Frost', 'Simipour', 'Throh', 'Vigoroth'],
2868
2937
  },
2869
2938
  {
2870
2939
  name: "[Gen 5] LC",
@@ -2934,20 +3003,6 @@ export const Formats: FormatList = [
2934
3003
  section: 'B2/W2 Doubles',
2935
3004
  column: 4,
2936
3005
  },
2937
- {
2938
- name: "[Gen 5] Doubles OU",
2939
- threads: [
2940
- `&bullet; <a href="https://www.smogon.com/forums/threads/3606719/">BW2 Doubles Metagame Discussion</a>`,
2941
- `&bullet; <a href="https://www.smogon.com/forums/posts/7393048/">BW2 Doubles Viability Rankings</a>`,
2942
- `&bullet; <a href="https://www.smogon.com/forums/posts/7393081/">BW2 Doubles Sample Teams</a>`,
2943
- ],
2944
-
2945
- mod: 'gen5',
2946
- gameType: 'doubles',
2947
- searchShow: false,
2948
- ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2949
- banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity'],
2950
- },
2951
3006
  {
2952
3007
  name: "[Gen 5] VGC 2013",
2953
3008
 
@@ -3016,6 +3071,19 @@ export const Formats: FormatList = [
3016
3071
  ruleset: ['Standard'],
3017
3072
  banlist: ['AG'],
3018
3073
  },
3074
+ {
3075
+ name: "[Gen 4] UU",
3076
+ threads: [
3077
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3532624/">DPP UU Metagame Discussion</a>`,
3078
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3503638/">DPP UU Viability Rankings</a>`,
3079
+ ],
3080
+
3081
+ mod: 'gen4',
3082
+ searchShow: false,
3083
+ ruleset: ['[Gen 4] OU'],
3084
+ banlist: ['OU', 'UUBL'],
3085
+ unbanlist: ['Arena Trap'],
3086
+ },
3019
3087
  {
3020
3088
  name: "[Gen 4] NU",
3021
3089
  threads: [
@@ -3187,6 +3255,19 @@ export const Formats: FormatList = [
3187
3255
  banlist: ['UU'],
3188
3256
  unbanlist: ['Baton Pass'],
3189
3257
  },
3258
+ {
3259
+ name: "[Gen 3] Doubles OU",
3260
+ threads: [
3261
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3666831/">ADV Doubles OU</a>`,
3262
+ ],
3263
+
3264
+ mod: 'gen3',
3265
+ searchShow: false,
3266
+ gameType: 'doubles',
3267
+ ruleset: ['Standard', '!Sleep Clause Mod', '!Switch Priority Clause Mod'],
3268
+ banlist: ['Uber'],
3269
+ unbanlist: ['Deoxys-Speed', 'Wobbuffet', 'Wynaut'],
3270
+ },
3190
3271
  {
3191
3272
  name: "[Gen 3] 1v1",
3192
3273
  desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
@@ -3258,7 +3339,7 @@ export const Formats: FormatList = [
3258
3339
  'Picked Team Size = 1', 'Max Team Size = 3',
3259
3340
  '[Gen 2] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview',
3260
3341
  ],
3261
- banlist: ['Clefable', 'Snorlax', 'Zapdos', 'Berserk Gene', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Destiny Bond', 'Explosion', 'Present', 'Self-Destruct'],
3342
+ banlist: ['Clefable', 'Snorlax', 'Zapdos', 'Berserk Gene', 'Bright Powder', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Destiny Bond', 'Explosion', 'Perish Song', 'Present', 'Self-Destruct'],
3262
3343
  },
3263
3344
  {
3264
3345
  name: "[Gen 2] Nintendo Cup 2000",
@@ -3305,18 +3386,6 @@ export const Formats: FormatList = [
3305
3386
  searchShow: false,
3306
3387
  ruleset: ['Standard'],
3307
3388
  },
3308
- {
3309
- name: "[Gen 1] UU",
3310
- threads: [
3311
- `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU Metagame Discussion</a>`,
3312
- `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Rankings</a>`,
3313
- ],
3314
-
3315
- mod: 'gen1',
3316
- searchShow: false,
3317
- ruleset: ['[Gen 1] OU'],
3318
- banlist: ['OU', 'UUBL'],
3319
- },
3320
3389
  {
3321
3390
  name: "[Gen 1] NU",
3322
3391
  threads: [
package/data/aliases.ts CHANGED
@@ -35,7 +35,8 @@ export const Aliases: {[alias: string]: string} = {
35
35
  camo: "[Gen 8] Camomons",
36
36
  ffa: "[Gen 8] Free-For-All",
37
37
  ts: "[Gen 8] Tier Shift",
38
- ph: "[Gen 8] Pure Hackmons",
38
+ ph: "[Gen 8 BDSP] Pure Hackmons",
39
+ purehackmons: "[Gen 8 BDSP] Pure Hackmons",
39
40
  gen7bh: "[Gen 7] Balanced Hackmons",
40
41
  gen7mnm: "[Gen 7] Mix and Mega",
41
42
  gen7stab: "[Gen 7] STABmons",
@@ -56,6 +57,7 @@ export const Aliases: {[alias: string]: string} = {
56
57
  gen7mono: "[Gen 7] Monotype",
57
58
  gen7ag: "[Gen 7] Anything Goes",
58
59
  gen7bss: "[Gen 7] Battle Spot Singles",
60
+ bfd: "[Gen 8 BDSP] Battle Festival Doubles",
59
61
  lgou: "[Gen 7] Let's Go OU",
60
62
  vgc20: "[Gen 8] VGC 2020",
61
63
  vgc19: "[Gen 7] VGC 2019",
@@ -65,8 +67,8 @@ export const Aliases: {[alias: string]: string} = {
65
67
  gen6mono: "[Gen 6] Monotype",
66
68
  gen6ag: "[Gen 6] Anything Goes",
67
69
  crossevo: "[Gen 8] Cross Evolution",
68
- omotm: "[Gen 8] Multibility",
69
- lcotm: "[Gen 8] 350 Cup",
70
+ omotm: "[Gen 8] Revelationmons",
71
+ lcotm: "[Gen 8 BDSP] Balanced Hackmons",
70
72
 
71
73
  // mega evos
72
74
  fabio: "Ampharos-Mega",
@@ -28,9 +28,12 @@ export const Conditions: {[k: string]: ConditionData} = {
28
28
  }
29
29
  },
30
30
  onModifySpe(spe, pokemon) {
31
+ // Paralysis occurs after all other Speed modifiers, so evaluate all modifiers up to this point first
32
+ spe = this.finalModify(spe);
31
33
  if (!pokemon.hasAbility('quickfeet')) {
32
- return this.chainModify(0.5);
34
+ spe = Math.floor(spe * 50 / 100);
33
35
  }
36
+ return spe;
34
37
  },
35
38
  onBeforeMovePriority: 1,
36
39
  onBeforeMove(pokemon) {
@@ -393,6 +396,7 @@ export const Conditions: {[k: string]: ConditionData} = {
393
396
  if (data.source.isActive && data.source.hasItem('lifeorb') && this.gen >= 5) {
394
397
  this.singleEvent('AfterMoveSecondarySelf', data.source.getItem(), data.source.itemState, data.source, target, data.source.getItem());
395
398
  }
399
+ this.activeMove = null;
396
400
 
397
401
  this.checkWin();
398
402
  },