@pkmn/sim 0.4.23 → 0.5.0

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 (50) hide show
  1. package/build/config/formats.js +175 -112
  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 +1 -0
  6. package/build/data/conditions.js.map +1 -1
  7. package/build/data/formats-data.js +15 -7
  8. package/build/data/formats-data.js.map +1 -1
  9. package/build/data/items.js +24 -0
  10. package/build/data/items.js.map +1 -1
  11. package/build/data/learnsets.js +34 -0
  12. package/build/data/learnsets.js.map +1 -1
  13. package/build/data/mods/gen2/formats-data.js +2 -2
  14. package/build/data/mods/gen2/formats-data.js.map +1 -1
  15. package/build/data/mods/gen3/formats-data.js +1 -1
  16. package/build/data/mods/gen3/formats-data.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/moves.js +1 -0
  20. package/build/data/moves.js.map +1 -1
  21. package/build/data/pokedex.js +33 -0
  22. package/build/data/pokedex.js.map +1 -1
  23. package/build/data/text/items.js +4 -0
  24. package/build/data/text/items.js.map +1 -1
  25. package/build/sim/battle-actions.js +1 -1
  26. package/build/sim/battle-actions.js.map +1 -1
  27. package/build/sim/dex-formats.js +1 -1
  28. package/build/sim/dex-formats.js.map +1 -1
  29. package/build/sim/dex-species.js +4 -3
  30. package/build/sim/dex-species.js.map +1 -1
  31. package/build/sim/tools/runner.d.ts +1 -6
  32. package/build/sim/tools/runner.js +6 -6
  33. package/build/sim/tools/runner.js.map +1 -1
  34. package/config/formats.ts +181 -115
  35. package/data/aliases.ts +5 -3
  36. package/data/conditions.ts +1 -0
  37. package/data/formats-data.ts +15 -7
  38. package/data/items.ts +24 -0
  39. package/data/learnsets.ts +34 -0
  40. package/data/mods/gen2/formats-data.ts +2 -2
  41. package/data/mods/gen3/formats-data.ts +1 -1
  42. package/data/mods/gen6/pokedex.ts +17 -17
  43. package/data/moves.ts +1 -0
  44. package/data/pokedex.ts +33 -0
  45. package/data/text/items.ts +4 -0
  46. package/package.json +1 -1
  47. package/sim/battle-actions.ts +1 -1
  48. package/sim/dex-formats.ts +1 -1
  49. package/sim/dex-species.ts +4 -3
  50. package/sim/tools/runner.ts +2 -0
package/config/formats.ts CHANGED
@@ -140,7 +140,7 @@ export const Formats: FormatList = [
140
140
 
141
141
  mod: 'gen8',
142
142
  ruleset: ['[Gen 8] RU'],
143
- banlist: ['RU', 'NUBL', 'Drizzle', 'Drought', 'Snow Warning'],
143
+ banlist: ['RU', 'NUBL', 'Drizzle', 'Drought'],
144
144
  },
145
145
  {
146
146
  name: "[Gen 8] PU",
@@ -164,7 +164,7 @@ export const Formats: FormatList = [
164
164
  mod: 'gen8',
165
165
  ruleset: ['Little Cup', 'Standard', 'Dynamax Clause'],
166
166
  banlist: [
167
- 'Corsola-Galar', 'Cutiefly', 'Drifloon', 'Gastly', 'Gothita', 'Rufflet', 'Scraggy', 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Vullaby', 'Vulpix-Alola', 'Woobat',
167
+ 'Corsola-Galar', 'Cutiefly', 'Drifloon', 'Gastly', 'Gothita', 'Rufflet', 'Scraggy', 'Scyther', 'Sneasel', 'Swirlix', 'Tangela', 'Vullaby', 'Vulpix-Alola', 'Woobat', 'Zigzagoon-Base',
168
168
  'Chlorophyll', 'Moody', 'Baton Pass', 'Sticky Web',
169
169
  ],
170
170
  },
@@ -230,7 +230,10 @@ export const Formats: FormatList = [
230
230
 
231
231
  mod: 'gen8',
232
232
  ruleset: ['[Gen 8] PU'],
233
- banlist: ['PU', 'Centiskorch', 'Drampa', 'Exeggutor-Alola', 'Gallade', 'Haunter', 'Magmortar', 'Magneton', 'Omastar', 'Rotom-Frost', 'Turtonator', 'Vikavolt', 'Silvally-Dragon', 'Silvally-Ground', 'Sneasel', 'Damp Rock', 'Grassy Seed'],
233
+ banlist: [
234
+ 'PU', 'Centiskorch', 'Drampa', 'Exeggutor-Alola', 'Gallade', 'Haunter', 'Magmortar', 'Magneton', 'Omastar', 'Rotom-Frost',
235
+ 'Turtonator', 'Vanilluxe', 'Vikavolt', 'Silvally-Dragon', 'Silvally-Ground', 'Sneasel', 'Damp Rock', 'Grassy Seed',
236
+ ],
234
237
  },
235
238
  {
236
239
  name: "[Gen 8] LC UU",
@@ -273,6 +276,7 @@ export const Formats: FormatList = [
273
276
  mod: 'gen8',
274
277
  searchShow: false,
275
278
  ruleset: ['[Gen 8] LC', '+CAP'],
279
+ banlist: ['Cawdet'],
276
280
  },
277
281
  {
278
282
  name: "[Gen 8] Battle Stadium Singles",
@@ -366,12 +370,32 @@ export const Formats: FormatList = [
366
370
  },
367
371
  {
368
372
  name: "[Gen 8] VGC 2021 Series 11",
373
+ threads: [
374
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3677186/">VGC 2021 Series 11 Metagame Discussion</a>`,
375
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693427/">VGC 2021 Series 11 Sample Teams</a>`,
376
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693284/">VGC 2021 Series 11 Viability Rankings</a>`,
377
+ ],
369
378
 
370
379
  mod: 'gen8',
371
380
  gameType: 'doubles',
372
381
  ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer', 'Limit One Restricted'],
373
382
  restricted: ['Restricted Legendary'],
374
383
  },
384
+ {
385
+ name: "[Gen 8] Tiny Tourney",
386
+ threads: [
387
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694047/">Tiny Tourney Metagame Discussion</a>`,
388
+ ],
389
+
390
+ mod: 'gen8',
391
+ gameType: 'doubles',
392
+ ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
393
+ onValidateSet(set) {
394
+ const species = this.dex.species.get(set.species);
395
+ if (!species.nfe || species.prevo) return [`Non-first-stage Pok\u00e9mon cannot be used in Tiny Tourney.`];
396
+ if (species.heightm > 1) return [`${species.name} is too tall to be used in Tiny Tourney.`];
397
+ },
398
+ },
375
399
  {
376
400
  name: "[Gen 8] VGC 2021 Series 9",
377
401
 
@@ -608,44 +632,37 @@ export const Formats: FormatList = [
608
632
  column: 2,
609
633
  },
610
634
  {
611
- name: "[Gen 8] Sketchmons",
612
- desc: `Pok&eacute;mon can learn one of any move they don't normally learn, barring the few that are banned.`,
635
+ name: "[Gen 8] Revelationmons",
636
+ 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).`,
613
637
  threads: [
614
- `&bullet; <a href="https://www.smogon.com/forums/threads/3680298/">Sketchmons</a>`,
638
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3692297/">Revelationmons</a>`,
615
639
  ],
616
640
 
617
641
  mod: 'gen8',
618
- ruleset: ['Standard', 'Dynamax Clause', 'Sketchmons Move Legality'],
642
+ ruleset: ['Standard', 'Dynamax Clause', 'Revelationmons Mod', 'Sleep Moves Clause'],
619
643
  banlist: [
620
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus', 'Genesect',
621
- 'Giratina', 'Giratina-Origin', 'Groudon', 'Hawlucha', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base',
622
- 'Lugia', 'Lunala', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa',
623
- 'Porygon-Z', 'Rayquaza', 'Regieleki', 'Reshiram', 'Rillaboom', 'Shedinja', 'Solgaleo', 'Spectrier', 'Swoobat', 'Tapu Bulu',
624
- 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zeraora', 'Zygarde-Base',
625
- 'Arena Trap', 'Moody', 'Power Construct', 'Sand Rush', 'Shadow Tag', 'King\'s Rock', 'Baton Pass',
626
- ],
627
- restricted: [
628
- 'Acupressure', 'Astral Barrage', 'Belly Drum', 'Bolt Beak', 'Clangorous Soul', 'Double Iron Bash', 'Electrify', 'Extreme Speed',
629
- 'Fishious Rend', 'Geomancy', 'Glacial Lance', 'Lovely Kiss', 'No Retreat', 'Oblivion Wing', 'Octolock', 'Quiver Dance', 'Secret Sword',
630
- 'Shell Smash', 'Shift Gear', 'Sleep Powder', 'Spore', 'Thousand Arrows', 'Transform', 'V-create', 'Wicked Blow',
644
+ 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Dragapult', 'Eternatus', 'Genesect',
645
+ 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kommo-o', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia',
646
+ 'Lunala', 'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia',
647
+ 'Pheromosa', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Spectrier', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
648
+ 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody', 'Power Construct', 'Shadow Tag',
649
+ 'King\'s Rock', 'Baton Pass',
631
650
  ],
651
+ restricted: ['Bolt Beak', 'U-turn', 'Volt Switch'],
632
652
  },
633
653
  {
634
- name: "[Gen 8] AAA Doubles",
635
- desc: `Pok&eacute;mon have access to almost any ability, in a doubles setting.`,
654
+ name: "[Gen 8 BDSP] Balanced Hackmons",
655
+ desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
636
656
  threads: [
637
- `&bullet; <a href="https://www.smogon.com/forums/posts/8299984">AAA Doubles</a>`,
657
+ `&bullet; <a href="https://www.smogon.com/forums/posts/9043074">BDSP Balanced Hackmons</a>`,
638
658
  ],
639
659
 
640
- mod: 'gen8',
641
- gameType: 'doubles',
642
- ruleset: ['[Gen 8] Doubles OU', 'Sleep Clause Mod', '2 Ability Clause', '!Obtainable Abilities'],
660
+ mod: 'gen8bdsp',
661
+ ruleset: ['-Nonexistent', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Moves Clause', 'Endless Battle Clause'],
643
662
  banlist: [
644
- 'Kyurem-Black', 'Regigigas', 'Shedinja', 'Urshifu-Rapid-Strike', 'Zygarde-Base', 'Anger Point', 'Arena Trap', 'Comatose', 'Contrary',
645
- 'Desolate Land', 'Fluffy', 'Fur Coat', 'Gorilla Tactics', 'Huge Power', 'Ice Scales', 'Illusion', 'Imposter', 'Innards Out', 'Intrepid Sword',
646
- 'Libero', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Prankster', 'Primordial Sea', 'Protean', 'Pure Power', 'Rattled', 'Serene Grace',
647
- 'Simple', 'Soul-Heart', 'Stakeout', 'Steam Engine', 'Speed Boost', 'Water Bubble', 'Water Compaction', 'Wonder Guard', 'King\'s Rock',
648
- 'Weakness Policy', 'Beat Up', 'Stored Power',
663
+ 'Shedinja', 'Arena Trap', 'Contrary', 'Gorilla Tactics', 'Huge Power', 'Illusion', 'Innards Out', 'Intrepid Sword',
664
+ 'Magnet Pull', 'Moody', 'Neutralizing Gas', 'Parental Bond', 'Pure Power', 'Shadow Tag', 'Stakeout', 'Water Bubble',
665
+ 'Wonder Guard', 'Comatose + Sleep Talk', 'Shell Smash',
649
666
  ],
650
667
  },
651
668
 
@@ -793,12 +810,12 @@ export const Formats: FormatList = [
793
810
  mod: 'gen8',
794
811
  ruleset: ['Standard', 'STABmons Move Legality', 'Dynamax Clause', 'Sleep Moves Clause'],
795
812
  banlist: [
796
- 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus', 'Genesect', 'Garchomp', 'Giratina',
797
- 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus', 'Landorus-Therian', 'Lugia', 'Lunala',
798
- 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Porygon-Z', 'Rayquaza', 'Reshiram',
799
- 'Silvally', 'Solgaleo', 'Spectrier', 'Tapu Bulu', 'Tapu Koko', 'Thundurus-Base', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
800
- 'Zamazenta', 'Zamazenta-Crowned', 'Zapdos-Galar', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody', 'Power Construct', 'Shadow Tag',
801
- 'King\'s Rock', 'Baton Pass',
813
+ 'Aegislash', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragapult', 'Dragonite', 'Eternatus', 'Genesect',
814
+ 'Garchomp', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kartana', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus', 'Landorus-Therian',
815
+ 'Lugia', 'Lunala', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Porygon-Z',
816
+ 'Rayquaza', 'Reshiram', 'Silvally', 'Solgaleo', 'Spectrier', 'Tapu Bulu', 'Tapu Koko', 'Thundurus-Base', 'Urshifu-Base', 'Xerneas', 'Yveltal',
817
+ 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zapdos-Galar', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody',
818
+ 'Power Construct', 'Shadow Tag', 'King\'s Rock', 'Baton Pass',
802
819
  ],
803
820
  restricted: [
804
821
  'Acupressure', 'Astral Barrage', 'Belly Drum', 'Bolt Beak', 'Clangorous Soul', 'Double Iron Bash', 'Electrify', 'Extreme Speed', 'Fishious Rend',
@@ -846,13 +863,13 @@ export const Formats: FormatList = [
846
863
  {
847
864
  name: "[Gen 8 BDSP] Random Battle",
848
865
  desc: `Randomized teams of level-balanced Pok&eacute;mon with sets that are generated to be competitively viable.`,
866
+ threads: [
867
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693955/">BDSP Random Battle Set Discussion</a>`,
868
+ ],
849
869
 
850
870
  mod: 'gen8bdsp',
851
871
  team: 'random',
852
- searchShow: false,
853
- challengeShow: false,
854
- tournamentShow: false,
855
- ruleset: ['[Gen 8] Random Battle'],
872
+ ruleset: ['[Gen 8] Random Battle', '!PotD'],
856
873
  },
857
874
  {
858
875
  name: "[Gen 8 BDSP] OU",
@@ -865,28 +882,75 @@ export const Formats: FormatList = [
865
882
  ruleset: ['Standard'],
866
883
  banlist: ['Uber', 'Arena Trap', 'Drizzle', 'Moody', 'Shadow Tag', 'King\'s Rock', 'Razor Fang', 'Baton Pass'],
867
884
  },
885
+ {
886
+ name: "[Gen 8 BDSP] Ubers",
887
+ threads: [
888
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694036/">BDSP Ubers Discussion &amp; Resources</a>`,
889
+ ],
890
+
891
+ mod: 'gen8bdsp',
892
+ ruleset: ['Standard'],
893
+ banlist: ['AG', 'Baton Pass'],
894
+ },
895
+ {
896
+ name: "[Gen 8 BDSP] UU",
897
+ threads: [
898
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694307/">BDSP UU</a>`,
899
+ ],
900
+
901
+ mod: 'gen8bdsp',
902
+ ruleset: ['[Gen 8 BDSP] OU'],
903
+ banlist: ['OU', 'UUBL'],
904
+ },
905
+ {
906
+ name: "[Gen 8 BDSP] Monotype",
907
+ threads: [
908
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694267/">BDSP Monotype</a>`,
909
+ ],
910
+
911
+ mod: 'gen8bdsp',
912
+ ruleset: ['Standard', 'Same Type Clause'],
913
+ banlist: [
914
+ 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Lugia', 'Mewtwo', 'Palkia', 'Rayquaza',
915
+ 'Arena Trap', 'Moody', 'Shadow Tag', 'Damp Rock', 'King\'s Rock', 'Razor Fang', 'Baton Pass',
916
+ ],
917
+ },
918
+ {
919
+ name: "[Gen 8 BDSP] CAP",
920
+ threads: [
921
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694238/">BDSP CAP</a>`,
922
+ ],
923
+
924
+ mod: 'gen8bdsp',
925
+ searchShow: false,
926
+ ruleset: ['[Gen 8 BDSP] OU', '+CAP'],
927
+ },
868
928
  {
869
929
  name: "[Gen 8 BDSP] Doubles OU",
930
+ threads: [
931
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693891/">BDSP Doubles OU</a>`,
932
+ ],
870
933
 
871
934
  mod: 'gen8bdsp',
872
935
  gameType: 'doubles',
873
- searchShow: false,
874
936
  ruleset: ['Standard Doubles'],
875
937
  banlist: ['DUber'],
876
938
  },
877
939
  {
878
940
  name: "[Gen 8 BDSP] Battle Festival Doubles",
941
+ threads: [
942
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3694269/">Battle Festival Doubles</a>`,
943
+ ],
879
944
 
880
945
  mod: 'gen8bdsp',
881
946
  gameType: 'doubles',
882
- // VGC Timer is temporary
883
- ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer'],
947
+ ruleset: ['Flat Rules', 'Min Source Gen = 8'],
884
948
  },
885
949
  {
886
950
  name: "[Gen 8 BDSP] Pure Hackmons",
887
951
  desc: `Anything that can be hacked in-game and is usable in local battles is allowed.`,
888
952
  threads: [
889
- `&bullet; <a href="https://www.smogon.com/forums/threads/3656851/">Pure Hackmons</a>`,
953
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3693868/">Pure Hackmons</a>`,
890
954
  ],
891
955
 
892
956
  mod: 'gen8bdsp',
@@ -910,9 +974,9 @@ export const Formats: FormatList = [
910
974
  banlist: [
911
975
  'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Eternatus', 'Genesect', 'Giratina', 'Giratina-Origin', 'Groudon',
912
976
  'Ho-Oh', 'Hydreigon', 'Kartana', 'Kyogre', 'Kyurem', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Latias', 'Latios', 'Lugia', 'Lunala', 'Marshadow',
913
- 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Shedinja', 'Slowking-Galar', 'Solgaleo',
914
- 'Tornadus-Therian', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zeraora', 'Zygarde-Base',
915
- 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass',
977
+ 'Mew', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram', 'Reuniclus', 'Shedinja',
978
+ 'Slowking-Galar', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom',
979
+ 'Zeraora', 'Zygarde-Base', 'Arena Trap', 'Moody', 'Power Construct', 'Shadow Tag', 'Baton Pass',
916
980
  ],
917
981
  onModifySpeciesPriority: 2,
918
982
  onModifySpecies(species, target, source, effect) {
@@ -939,8 +1003,9 @@ export const Formats: FormatList = [
939
1003
  searchShow: false,
940
1004
  ruleset: ['Standard', 'Dynamax Clause'],
941
1005
  banlist: [
942
- 'Blissey', 'Calyrex-Shadow', 'Chansey', 'Hawlucha', 'Marowak-Alola', 'Melmetal', 'Pikachu', 'Toxapex', 'Zacian', 'Zacian-Crowned',
943
- 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power', 'Moody', 'Pure Power', 'Shadow Tag', 'Baton Pass',
1006
+ 'Blissey', 'Calyrex-Shadow', 'Chansey', 'Dragapult', 'Hawlucha', 'Marowak-Alola', 'Melmetal', 'Pikachu', 'Toxapex',
1007
+ 'Xerneas', 'Zacian', 'Zacian-Crowned', 'Uber > 1', 'AG ++ Uber > 1', 'Arena Trap', 'Huge Power', 'Moody', 'Pure Power',
1008
+ 'Shadow Tag', 'Baton Pass',
944
1009
  ],
945
1010
  onValidateTeam(team) {
946
1011
  const gods = new Set<string>();
@@ -2002,40 +2067,50 @@ export const Formats: FormatList = [
2002
2067
  column: 3,
2003
2068
  },
2004
2069
  {
2005
- name: "[Gen 6] Ubers",
2070
+ name: "[Gen 1] UU",
2006
2071
  threads: [
2007
- `&bullet; <a href="https://www.smogon.com/forums/posts/8286277/">ORAS Ubers</a>`,
2072
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU Metagame Discussion</a>`,
2073
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Rankings</a>`,
2008
2074
  ],
2009
2075
 
2010
- mod: 'gen6',
2076
+ mod: 'gen1',
2011
2077
  // searchShow: false,
2012
- ruleset: ['Standard', 'Swagger Clause', 'Mega Rayquaza Clause'],
2078
+ ruleset: ['[Gen 1] OU'],
2079
+ banlist: ['OU', 'UUBL'],
2013
2080
  },
2014
2081
  {
2015
- name: "[Gen 4] UU",
2082
+ name: "[Gen 6] 1v1",
2083
+ desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
2016
2084
  threads: [
2017
- `&bullet; <a href="https://www.smogon.com/forums/threads/3532624/">DPP UU Metagame Discussion</a>`,
2018
- `&bullet; <a href="https://www.smogon.com/forums/threads/3503638/">DPP UU Viability Rankings</a>`,
2085
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8031459/">ORAS 1v1</a>`,
2019
2086
  ],
2020
2087
 
2021
- mod: 'gen4',
2088
+ mod: 'gen6',
2022
2089
  // searchShow: false,
2023
- ruleset: ['[Gen 4] OU'],
2024
- banlist: ['OU', 'UUBL'],
2025
- unbanlist: ['Arena Trap'],
2090
+ ruleset: [
2091
+ 'Max Team Size = 3', 'Picked Team Size = 1',
2092
+ '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',
2093
+ ],
2094
+ banlist: [
2095
+ 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2096
+ 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2097
+ 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2098
+ 'Focus Sash', 'Soul Dew', 'Perish Song',
2099
+ ],
2026
2100
  },
2027
2101
  {
2028
- name: "[Gen 3] Doubles OU",
2102
+ name: "[Gen 5] Doubles OU",
2029
2103
  threads: [
2030
- `&bullet; <a href="https://www.smogon.com/forums/threads/3666831/">ADV Doubles OU</a>`,
2104
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3606719/">BW2 Doubles Metagame Discussion</a>`,
2105
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7393048/">BW2 Doubles Viability Rankings</a>`,
2106
+ `&bullet; <a href="https://www.smogon.com/forums/posts/7393081/">BW2 Doubles Sample Teams</a>`,
2031
2107
  ],
2032
2108
 
2033
- mod: 'gen3',
2034
- // searchShow: false,
2109
+ mod: 'gen5',
2035
2110
  gameType: 'doubles',
2036
- ruleset: ['Standard', '!Sleep Clause Mod', '!Switch Priority Clause Mod'],
2037
- banlist: ['Uber'],
2038
- unbanlist: ['Deoxys-Speed', 'Wobbuffet', 'Wynaut'],
2111
+ // searchShow: false,
2112
+ ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2113
+ banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity'],
2039
2114
  },
2040
2115
 
2041
2116
  // Past Gens OU
@@ -2140,7 +2215,7 @@ export const Formats: FormatList = [
2140
2215
  ],
2141
2216
 
2142
2217
  mod: 'gen7',
2143
- 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'],
2218
+ 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'],
2144
2219
  banlist: [
2145
2220
  'Groudon-Primal', 'Rayquaza-Mega', 'Gengarite', 'Comatose + Sleep Talk', 'Chatter',
2146
2221
  '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',
@@ -2350,7 +2425,8 @@ export const Formats: FormatList = [
2350
2425
  'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega', 'Kartana', 'Kyogre', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna',
2351
2426
  'Marshadow', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia',
2352
2427
  'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Tapu Lele', 'Xerneas', 'Yveltal', 'Zekrom', 'Zygarde',
2353
- 'Battle Bond', 'Shadow Tag', 'Damp Rock', 'Smooth Rock', 'Terrain Extender', 'Baton Pass',
2428
+ 'Battle Bond', 'Shadow Tag', 'Bright Powder', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Lax Incense', 'Quick Claw', 'Razor Fang',
2429
+ 'Smooth Rock', 'Terrain Extender', 'Baton Pass',
2354
2430
  ],
2355
2431
  },
2356
2432
  {
@@ -2575,6 +2651,16 @@ export const Formats: FormatList = [
2575
2651
  section: "OR/AS Singles",
2576
2652
  column: 4,
2577
2653
  },
2654
+ {
2655
+ name: "[Gen 6] Ubers",
2656
+ threads: [
2657
+ `&bullet; <a href="https://www.smogon.com/forums/posts/8286277/">ORAS Ubers</a>`,
2658
+ ],
2659
+
2660
+ mod: 'gen6',
2661
+ searchShow: false,
2662
+ ruleset: ['Standard', 'Swagger Clause', 'Mega Rayquaza Clause'],
2663
+ },
2578
2664
  {
2579
2665
  name: "[Gen 6] UU",
2580
2666
  threads: [
@@ -2657,26 +2743,6 @@ export const Formats: FormatList = [
2657
2743
  'Soul Dew', 'Baton Pass',
2658
2744
  ],
2659
2745
  },
2660
- {
2661
- name: "[Gen 6] 1v1",
2662
- desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
2663
- threads: [
2664
- `&bullet; <a href="https://www.smogon.com/forums/posts/8031459/">ORAS 1v1</a>`,
2665
- ],
2666
-
2667
- mod: 'gen6',
2668
- searchShow: false,
2669
- ruleset: [
2670
- 'Max Team Size = 3', 'Picked Team Size = 1',
2671
- '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',
2672
- ],
2673
- banlist: [
2674
- 'Arceus', 'Blaziken', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina',
2675
- 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White', 'Lugia', 'Mewtwo',
2676
- 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Xerneas', 'Yveltal', 'Zekrom',
2677
- 'Focus Sash', 'Soul Dew', 'Perish Song',
2678
- ],
2679
- },
2680
2746
  {
2681
2747
  name: "[Gen 6] Anything Goes",
2682
2748
  threads: [
@@ -2937,7 +3003,7 @@ export const Formats: FormatList = [
2937
3003
  'Picked Team Size = 1', 'Max Team Size = 3',
2938
3004
  'Standard', 'Baton Pass Clause', 'Swagger Clause',
2939
3005
  ],
2940
- banlist: ['Uber', 'Cottonee', 'Dragonite', 'Kyurem-Black', 'Togekiss', 'Whimsicott', 'Victini', 'Bright Powder', 'Focus Band', 'Focus Sash', 'Lax Incense', 'Quick Claw', 'Soul Dew', 'Perish Song'],
3006
+ banlist: ['Uber', 'Cottonee', 'Dragonite', 'Kyurem-Black', 'Mew', 'Togekiss', 'Whimsicott', 'Victini', 'Bright Powder', 'Focus Band', 'Focus Sash', 'Lax Incense', 'Quick Claw', 'Soul Dew', 'Perish Song'],
2941
3007
  unbanlist: ['Genesect', 'Landorus', 'Manaphy', 'Thundurus', 'Tornadus-Therian'],
2942
3008
  },
2943
3009
  {
@@ -2966,20 +3032,6 @@ export const Formats: FormatList = [
2966
3032
  section: 'B2/W2 Doubles',
2967
3033
  column: 4,
2968
3034
  },
2969
- {
2970
- name: "[Gen 5] Doubles OU",
2971
- threads: [
2972
- `&bullet; <a href="https://www.smogon.com/forums/threads/3606719/">BW2 Doubles Metagame Discussion</a>`,
2973
- `&bullet; <a href="https://www.smogon.com/forums/posts/7393048/">BW2 Doubles Viability Rankings</a>`,
2974
- `&bullet; <a href="https://www.smogon.com/forums/posts/7393081/">BW2 Doubles Sample Teams</a>`,
2975
- ],
2976
-
2977
- mod: 'gen5',
2978
- gameType: 'doubles',
2979
- searchShow: false,
2980
- ruleset: ['Standard', 'Evasion Abilities Clause', 'Swagger Clause', 'Sleep Clause Mod'],
2981
- banlist: ['DUber', 'Soul Dew', 'Dark Void', 'Gravity'],
2982
- },
2983
3035
  {
2984
3036
  name: "[Gen 5] VGC 2013",
2985
3037
 
@@ -3048,6 +3100,19 @@ export const Formats: FormatList = [
3048
3100
  ruleset: ['Standard'],
3049
3101
  banlist: ['AG'],
3050
3102
  },
3103
+ {
3104
+ name: "[Gen 4] UU",
3105
+ threads: [
3106
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3532624/">DPP UU Metagame Discussion</a>`,
3107
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3503638/">DPP UU Viability Rankings</a>`,
3108
+ ],
3109
+
3110
+ mod: 'gen4',
3111
+ searchShow: false,
3112
+ ruleset: ['[Gen 4] OU'],
3113
+ banlist: ['OU', 'UUBL'],
3114
+ unbanlist: ['Arena Trap'],
3115
+ },
3051
3116
  {
3052
3117
  name: "[Gen 4] NU",
3053
3118
  threads: [
@@ -3219,6 +3284,19 @@ export const Formats: FormatList = [
3219
3284
  banlist: ['UU'],
3220
3285
  unbanlist: ['Baton Pass'],
3221
3286
  },
3287
+ {
3288
+ name: "[Gen 3] Doubles OU",
3289
+ threads: [
3290
+ `&bullet; <a href="https://www.smogon.com/forums/threads/3666831/">ADV Doubles OU</a>`,
3291
+ ],
3292
+
3293
+ mod: 'gen3',
3294
+ searchShow: false,
3295
+ gameType: 'doubles',
3296
+ ruleset: ['Standard', '!Sleep Clause Mod', '!Switch Priority Clause Mod'],
3297
+ banlist: ['Uber'],
3298
+ unbanlist: ['Deoxys-Speed', 'Wobbuffet', 'Wynaut'],
3299
+ },
3222
3300
  {
3223
3301
  name: "[Gen 3] 1v1",
3224
3302
  desc: `Bring three Pok&eacute;mon to Team Preview and choose one to battle.`,
@@ -3337,18 +3415,6 @@ export const Formats: FormatList = [
3337
3415
  searchShow: false,
3338
3416
  ruleset: ['Standard'],
3339
3417
  },
3340
- {
3341
- name: "[Gen 1] UU",
3342
- threads: [
3343
- `&bullet; <a href="https://www.smogon.com/forums/threads/3573896/">RBY UU Metagame Discussion</a>`,
3344
- `&bullet; <a href="https://www.smogon.com/forums/threads/3647713/">RBY UU Viability Rankings</a>`,
3345
- ],
3346
-
3347
- mod: 'gen1',
3348
- searchShow: false,
3349
- ruleset: ['[Gen 1] OU'],
3350
- banlist: ['OU', 'UUBL'],
3351
- },
3352
3418
  {
3353
3419
  name: "[Gen 1] NU",
3354
3420
  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] Sketchmons",
69
- lcotm: "[Gen 8] AAA Doubles",
70
+ omotm: "[Gen 8] Revelationmons",
71
+ lcotm: "[Gen 8 BDSP] Balanced Hackmons",
70
72
 
71
73
  // mega evos
72
74
  fabio: "Ampharos-Mega",
@@ -396,6 +396,7 @@ export const Conditions: {[k: string]: ConditionData} = {
396
396
  if (data.source.isActive && data.source.hasItem('lifeorb') && this.gen >= 5) {
397
397
  this.singleEvent('AfterMoveSecondarySelf', data.source.getItem(), data.source.itemState, data.source, target, data.source.getItem());
398
398
  }
399
+ this.activeMove = null;
399
400
 
400
401
  this.checkWin();
401
402
  },
@@ -710,7 +710,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
710
710
  randomBattleMoves: ["bravebird", "closecombat", "firstimpression", "knockoff", "swordsdance"],
711
711
  randomBattleLevel: 82,
712
712
  randomDoubleBattleMoves: ["bravebird", "closecombat", "firstimpression", "knockoff", "poisonjab", "protect", "swordsdance"],
713
- randomDoubleBattleLevel: 84,
713
+ randomDoubleBattleLevel: 85,
714
714
  randomBattleNoDynamaxMoves: ["bravebird", "closecombat", "firstimpression", "knockoff", "poisonjab", "swordsdance"],
715
715
  tier: "NU",
716
716
  doublesTier: "(DUU)",
@@ -1965,7 +1965,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
1965
1965
  tier: "Illegal",
1966
1966
  },
1967
1967
  zigzagoon: {
1968
- tier: "LC",
1968
+ tier: "NFE",
1969
1969
  },
1970
1970
  zigzagoongalar: {
1971
1971
  tier: "LC",
@@ -3443,7 +3443,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
3443
3443
  },
3444
3444
  audino: {
3445
3445
  randomBattleMoves: ["healbell", "knockoff", "protect", "toxic", "wish"],
3446
- randomBattleLevel: 88,
3446
+ randomBattleLevel: 90,
3447
3447
  randomDoubleBattleMoves: ["bodyslam", "healpulse", "helpinghand", "knockoff", "protect", "thunderwave"],
3448
3448
  randomDoubleBattleLevel: 89,
3449
3449
  tier: "PU",
@@ -3832,7 +3832,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
3832
3832
  randomBattleMoves: ["bugbuzz", "gigadrain", "stickyweb", "thunder", "voltswitch"],
3833
3833
  randomBattleLevel: 82,
3834
3834
  randomDoubleBattleMoves: ["bugbuzz", "electroweb", "energyball", "protect", "stickyweb", "thunder"],
3835
- randomDoubleBattleLevel: 86,
3835
+ randomDoubleBattleLevel: 85,
3836
3836
  tier: "PU",
3837
3837
  doublesTier: "(DUU)",
3838
3838
  },
@@ -4194,7 +4194,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
4194
4194
  },
4195
4195
  keldeoresolute: {
4196
4196
  randomBattleMoves: ["airslash", "calmmind", "hydropump", "icywind", "scald", "secretsword", "substitute"],
4197
- randomBattleLevel: 80,
4197
+ randomBattleLevel: 79,
4198
4198
  },
4199
4199
  meloetta: {
4200
4200
  isNonstandard: "Past",
@@ -5936,7 +5936,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
5936
5936
  },
5937
5937
  dracozolt: {
5938
5938
  randomBattleMoves: ["aerialace", "boltbeak", "earthquake", "lowkick", "outrage"],
5939
- randomBattleLevel: 79,
5939
+ randomBattleLevel: 78,
5940
5940
  randomDoubleBattleMoves: ["aerialace", "boltbeak", "dragonclaw", "highhorsepower", "rockslide"],
5941
5941
  randomDoubleBattleLevel: 82,
5942
5942
  randomBattleNoDynamaxMoves: ["boltbeak", "dragonclaw", "earthquake", "outrage"],
@@ -5964,7 +5964,7 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
5964
5964
  randomBattleLevel: 86,
5965
5965
  randomDoubleBattleMoves: ["blizzard", "fishiousrend", "iciclecrash", "protect", "superfang"],
5966
5966
  randomDoubleBattleLevel: 88,
5967
- tier: "(PU)",
5967
+ tier: "NUBL",
5968
5968
  doublesTier: "(DUU)",
5969
5969
  },
5970
5970
  duraludon: {
@@ -6410,6 +6410,14 @@ export const FormatsData: {[k: string]: SpeciesFormatsData} = {
6410
6410
  isNonstandard: "CAP",
6411
6411
  tier: "CAP",
6412
6412
  },
6413
+ venomicon: {
6414
+ isNonstandard: "CAP",
6415
+ tier: "CAP",
6416
+ },
6417
+ venomiconepilogue: {
6418
+ isNonstandard: "CAP",
6419
+ tier: "CAP",
6420
+ },
6413
6421
  pokestarsmeargle: {
6414
6422
  isNonstandard: "Custom",
6415
6423
  tier: "Illegal",
package/data/items.ts CHANGED
@@ -7107,4 +7107,28 @@ export const Items: {[itemid: string]: ItemData} = {
7107
7107
  gen: 6,
7108
7108
  isNonstandard: "CAP",
7109
7109
  },
7110
+ vilevial: {
7111
+ name: "Vile Vial",
7112
+ spritenum: 752,
7113
+ fling: {
7114
+ basePower: 60,
7115
+ },
7116
+ onBasePowerPriority: 15,
7117
+ onBasePower(basePower, user, target, move) {
7118
+ if (user.baseSpecies.num === -67 && ['Poison', 'Flying'].includes(move.type)) {
7119
+ return this.chainModify([4915, 4096]);
7120
+ }
7121
+ },
7122
+ onTakeItem(item, pokemon, source) {
7123
+ if (source?.baseSpecies.num === -67 || pokemon.baseSpecies.num === -67) {
7124
+ return false;
7125
+ }
7126
+ return true;
7127
+ },
7128
+ forcedForme: "Venomicon-Epilogue",
7129
+ itemUser: ["Venomicon-Epilogue"],
7130
+ num: 112,
7131
+ gen: 8,
7132
+ isNonstandard: "CAP",
7133
+ },
7110
7134
  };