@pkmn/sim 0.5.26 → 0.5.27
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.
- package/build/config/formats.js +196 -160
- package/build/config/formats.js.map +1 -1
- package/build/data/aliases.js +2 -2
- package/build/data/aliases.js.map +1 -1
- package/build/data/conditions.js +1 -1
- package/build/data/conditions.js.map +1 -1
- package/build/data/formats-data.js +24 -25
- package/build/data/formats-data.js.map +1 -1
- package/build/data/learnsets.js +27 -20
- package/build/data/learnsets.js.map +1 -1
- package/build/data/mods/gen2/moves.js +10 -5
- package/build/data/mods/gen2/moves.js.map +1 -1
- package/build/data/mods/gen3/formats-data.js +2 -2
- package/build/data/mods/gen3/formats-data.js.map +1 -1
- package/build/data/mods/gen3/moves.js +9 -0
- package/build/data/mods/gen3/moves.js.map +1 -1
- package/build/data/pokedex.js +7 -7
- package/build/data/pokedex.js.map +1 -1
- package/build/data/text/abilities.js +321 -139
- package/build/data/text/abilities.js.map +1 -1
- package/build/data/text/moves.js +8 -2
- package/build/data/text/moves.js.map +1 -1
- package/build/sim/battle-actions.js.map +1 -1
- package/build/sim/pokemon.js +1 -1
- package/build/sim/pokemon.js.map +1 -1
- package/build/sim/team-validator.js +21 -16
- package/build/sim/team-validator.js.map +1 -1
- package/config/formats.ts +197 -158
- package/data/aliases.ts +2 -2
- package/data/conditions.ts +1 -1
- package/data/formats-data.ts +24 -25
- package/data/learnsets.ts +27 -20
- package/data/mods/gen2/moves.ts +10 -5
- package/data/mods/gen3/formats-data.ts +2 -2
- package/data/mods/gen3/moves.ts +9 -0
- package/data/pokedex.ts +7 -7
- package/data/text/abilities.ts +321 -139
- package/data/text/moves.ts +8 -2
- package/package.json +1 -1
- package/sim/battle-actions.ts +1 -0
- package/sim/pokemon.ts +1 -1
- package/sim/team-validator.ts +22 -18
package/build/config/formats.js
CHANGED
|
@@ -232,7 +232,7 @@ exports.Formats = [
|
|
|
232
232
|
// LC OU
|
|
233
233
|
'Abra', 'Carvanha', 'Diglett-Base', 'Dwebble', 'Ferroseed', 'Foongus', 'Frillish', 'Grookey', 'Koffing',
|
|
234
234
|
'Larvesta', 'Magby', 'Magnemite', 'Mareanie', 'Mienfoo', 'Mudbray', 'Natu', 'Onix', 'Pawniard',
|
|
235
|
-
'Ponyta-Base', 'Porygon', '
|
|
235
|
+
'Ponyta-Base', 'Porygon', 'Staryu', 'Timburr', 'Trapinch', 'Tyrunt',
|
|
236
236
|
// LC UUBL
|
|
237
237
|
'Archen', 'Farfetch\u2019d-Galar', 'Scorbunny', 'Shellder', 'Wingull',
|
|
238
238
|
],
|
|
@@ -278,7 +278,7 @@ exports.Formats = [
|
|
|
278
278
|
unbanlist: [
|
|
279
279
|
'Venusaur', 'Charizard', 'Blastoise', 'Sandslash-Base', 'Ninetales-Base', 'Arcanine', 'Alakazam', 'Tentacruel', 'Magneton', 'Cloyster',
|
|
280
280
|
'Exeggutor-Base', 'Rhydon', 'Gyarados', 'Lapras', 'Vaporeon', 'Jolteon', 'Flareon', 'Aerodactyl', 'Dragonite', 'Heracross', 'Skarmory',
|
|
281
|
-
'Tyranitar', 'Ludicolo', 'Aggron', 'Wailord', 'Altaria', 'Whiscash', 'Claydol', 'Cradily', 'Armaldo', 'Milotic', 'Salamence',
|
|
281
|
+
'Tyranitar', 'Ludicolo', 'Gardevoir', 'Aggron', 'Wailord', 'Altaria', 'Whiscash', 'Claydol', 'Cradily', 'Armaldo', 'Milotic', 'Salamence',
|
|
282
282
|
'Metagross', 'Roserade', 'Gastrodon', 'Spiritomb', 'Garchomp', 'Lucario', 'Rhyperior', 'Togekiss', 'Seismitoad', 'Archeops',
|
|
283
283
|
'Vanilluxe', 'Escavalier', 'Haxorus', 'Accelgor', 'Druddigon', 'Bouffalant', 'Hydreigon', 'Volcarona', 'Aegislash', 'Tyrantrum',
|
|
284
284
|
'Aurorus', 'Hawlucha', 'Carbink', 'Goodra', 'Gourgeist', 'Rillaboom', 'Cinderace', 'Inteleon', 'Mr. Rime', 'Dragapult',
|
|
@@ -537,7 +537,7 @@ exports.Formats = [
|
|
|
537
537
|
ruleset: ['-Nonexistent', 'Standard NatDex', 'Forme Clause', 'Sleep Moves Clause', '2 Ability Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Dynamax Clause', 'CFZ Clause', '!Obtainable'],
|
|
538
538
|
banlist: [
|
|
539
539
|
// Pokemon
|
|
540
|
-
'Eternatus-Eternamax', 'Groudon-Primal', 'Rayquaza-Mega', 'Shedinja', 'Cramorant-Gorging', 'Calyrex-Shadow',
|
|
540
|
+
'Eternatus-Eternamax', 'Groudon-Primal', 'Rayquaza-Mega', 'Shedinja', 'Cramorant-Gorging', 'Calyrex-Shadow', 'Darmanitan-Galar-Zen',
|
|
541
541
|
// Abilities
|
|
542
542
|
'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',
|
|
543
543
|
// Items
|
|
@@ -598,117 +598,35 @@ exports.Formats = [
|
|
|
598
598
|
column: 2,
|
|
599
599
|
},
|
|
600
600
|
{
|
|
601
|
-
name: "[Gen 8]
|
|
602
|
-
desc: `
|
|
601
|
+
name: "[Gen 8] Revelationmons",
|
|
602
|
+
desc: `The moves in the first slot(s) of a Pokémon's set have their types changed to match the Pokémon's type(s).`,
|
|
603
603
|
threads: [
|
|
604
|
-
`• <a href="https://www.smogon.com/forums/threads/
|
|
604
|
+
`• <a href="https://www.smogon.com/forums/threads/3692297/">Revelationmons</a>`,
|
|
605
605
|
],
|
|
606
|
-
mod: '
|
|
607
|
-
|
|
608
|
-
// searchShow: false,
|
|
609
|
-
ruleset: ['Standard Doubles', 'Dynamax Clause'],
|
|
606
|
+
mod: 'gen8',
|
|
607
|
+
ruleset: ['Standard OMs', 'Revelationmons Mod', 'Sleep Moves Clause'],
|
|
610
608
|
banlist: [
|
|
611
|
-
'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', '
|
|
612
|
-
'
|
|
613
|
-
'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', '
|
|
614
|
-
'
|
|
615
|
-
'
|
|
616
|
-
'Shell Smash', 'Swagger',
|
|
609
|
+
'Blacephalon', 'Calyrex-Ice', 'Calyrex-Shadow', 'Darmanitan-Galar', 'Dialga', 'Dracovish', 'Dragonite', 'Dragapult', 'Eternatus', 'Genesect',
|
|
610
|
+
'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kommo-o', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Landorus-Base', 'Lugia', 'Lunala',
|
|
611
|
+
'Magearna', 'Marshadow', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Noivern', 'Palkia', 'Pheromosa', 'Rayquaza',
|
|
612
|
+
'Reshiram', 'Solgaleo', 'Spectrier', 'Thundurus-Therian', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta',
|
|
613
|
+
'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Arena Trap', 'Magnet Pull', 'Moody', 'Power Construct', 'Shadow Tag', 'King\'s Rock', 'Baton Pass',
|
|
617
614
|
],
|
|
618
|
-
|
|
619
|
-
pokemon.m.curMoves = this.dex.deepClone(pokemon.moves);
|
|
620
|
-
let ngas = false;
|
|
621
|
-
for (const poke of this.getAllActive()) {
|
|
622
|
-
if (this.toID(poke.ability) === 'neutralizinggas') {
|
|
623
|
-
ngas = true;
|
|
624
|
-
break;
|
|
625
|
-
}
|
|
626
|
-
}
|
|
627
|
-
const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas'];
|
|
628
|
-
// Abilities that must be applied before both sides trigger onSwitchIn to correctly
|
|
629
|
-
// handle switch-in ability-to-ability interactions, e.g. Intimidate counters
|
|
630
|
-
const NEEDED_BEFORE_SWITCH_IN_ABILITIES = [
|
|
631
|
-
'clearbody', 'competitive', 'contrary', 'defiant', 'fullmetalbody', 'hypercutter', 'innerfocus',
|
|
632
|
-
'mirrorarmor', 'oblivious', 'owntempo', 'rattled', 'scrappy', 'simple', 'whitesmoke',
|
|
633
|
-
];
|
|
634
|
-
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
635
|
-
if (ally && ally.ability !== pokemon.ability) {
|
|
636
|
-
if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability)) &&
|
|
637
|
-
NEEDED_BEFORE_SWITCH_IN_ABILITIES.includes(this.toID(ally.ability))) {
|
|
638
|
-
pokemon.m.innate = 'ability:' + ally.ability;
|
|
639
|
-
delete pokemon.volatiles[pokemon.m.innate];
|
|
640
|
-
if (!ngas || ally.getAbility().isPermanent)
|
|
641
|
-
pokemon.addVolatile(pokemon.m.innate);
|
|
642
|
-
}
|
|
643
|
-
if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability)) &&
|
|
644
|
-
NEEDED_BEFORE_SWITCH_IN_ABILITIES.includes(this.toID(pokemon.ability))) {
|
|
645
|
-
ally.m.innate = 'ability:' + pokemon.ability;
|
|
646
|
-
delete ally.volatiles[ally.m.innate];
|
|
647
|
-
if (!ngas || pokemon.getAbility().isPermanent)
|
|
648
|
-
ally.addVolatile(ally.m.innate);
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
},
|
|
652
|
-
onSwitchInPriority: 2,
|
|
653
|
-
onSwitchIn(pokemon) {
|
|
654
|
-
let ngas = false;
|
|
655
|
-
for (const poke of this.getAllActive()) {
|
|
656
|
-
if (this.toID(poke.ability) === 'neutralizinggas') {
|
|
657
|
-
ngas = true;
|
|
658
|
-
break;
|
|
659
|
-
}
|
|
660
|
-
}
|
|
661
|
-
const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas'];
|
|
662
|
-
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
663
|
-
if (ally && ally.ability !== pokemon.ability) {
|
|
664
|
-
if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability))) {
|
|
665
|
-
pokemon.m.innate = 'ability:' + ally.ability;
|
|
666
|
-
delete pokemon.volatiles[pokemon.m.innate];
|
|
667
|
-
if (!ngas || ally.getAbility().isPermanent)
|
|
668
|
-
pokemon.addVolatile(pokemon.m.innate);
|
|
669
|
-
}
|
|
670
|
-
if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability))) {
|
|
671
|
-
ally.m.innate = 'ability:' + pokemon.ability;
|
|
672
|
-
delete ally.volatiles[ally.m.innate];
|
|
673
|
-
if (!ngas || pokemon.getAbility().isPermanent)
|
|
674
|
-
ally.addVolatile(ally.m.innate);
|
|
675
|
-
}
|
|
676
|
-
}
|
|
677
|
-
},
|
|
678
|
-
onSwitchOut(pokemon) {
|
|
679
|
-
if (pokemon.m.innate) {
|
|
680
|
-
pokemon.removeVolatile(pokemon.m.innate);
|
|
681
|
-
delete pokemon.m.innate;
|
|
682
|
-
}
|
|
683
|
-
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
684
|
-
if (ally && ally.m.innate) {
|
|
685
|
-
ally.removeVolatile(ally.m.innate);
|
|
686
|
-
delete ally.m.innate;
|
|
687
|
-
}
|
|
688
|
-
},
|
|
689
|
-
onFaint(pokemon) {
|
|
690
|
-
if (pokemon.m.innate) {
|
|
691
|
-
pokemon.removeVolatile(pokemon.m.innate);
|
|
692
|
-
delete pokemon.m.innate;
|
|
693
|
-
}
|
|
694
|
-
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
695
|
-
if (ally && ally.m.innate) {
|
|
696
|
-
ally.removeVolatile(ally.m.innate);
|
|
697
|
-
delete ally.m.innate;
|
|
698
|
-
}
|
|
699
|
-
},
|
|
615
|
+
restricted: ['Bolt Beak', 'Close Combat', 'U-turn', 'Volt Switch'],
|
|
700
616
|
},
|
|
701
617
|
{
|
|
702
|
-
name: "[Gen 8]
|
|
703
|
-
desc: `
|
|
618
|
+
name: "[Gen 8] Tag Team Singles",
|
|
619
|
+
desc: `Bring four Pokémon to Team Preview and choose two to battle in a singles battle.`,
|
|
704
620
|
threads: [
|
|
705
|
-
`• <a href="https://www.smogon.com/forums/threads/
|
|
621
|
+
`• <a href="https://www.smogon.com/forums/threads/3705415/">Tag Team Singles</a>`,
|
|
706
622
|
],
|
|
707
623
|
mod: 'gen8',
|
|
708
|
-
ruleset: ['
|
|
624
|
+
ruleset: ['Picked Team Size = 2', 'Max Team Size = 4', 'Standard OMs', 'Sleep Moves Clause', 'Evasion Abilities Clause'],
|
|
709
625
|
banlist: [
|
|
710
|
-
'
|
|
711
|
-
'
|
|
626
|
+
'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Dialga', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kyogre', 'Kyurem-Black',
|
|
627
|
+
'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mewtwo', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia',
|
|
628
|
+
'Rayquaza', 'Reshiram', 'Solgaleo', 'Spectrier', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned',
|
|
629
|
+
'Zekrom', 'Moody', 'Power Construct', 'Bright Powder', 'Focus Sash', 'King\'s Rock', 'Lax Incense', 'Final Gambit',
|
|
712
630
|
],
|
|
713
631
|
},
|
|
714
632
|
// Other Metagames
|
|
@@ -1730,6 +1648,107 @@ exports.Formats = [
|
|
|
1730
1648
|
},
|
|
1731
1649
|
},
|
|
1732
1650
|
},
|
|
1651
|
+
{
|
|
1652
|
+
name: "[Gen 8] Partners in Crime",
|
|
1653
|
+
desc: `Doubles-based metagame where both active ally Pokémon share abilities and moves.`,
|
|
1654
|
+
threads: [
|
|
1655
|
+
`• <a href="https://www.smogon.com/forums/threads/3706080/">Partners in Crime</a>`,
|
|
1656
|
+
],
|
|
1657
|
+
mod: 'partnersincrime',
|
|
1658
|
+
gameType: 'doubles',
|
|
1659
|
+
searchShow: false,
|
|
1660
|
+
ruleset: ['Standard Doubles', 'Dynamax Clause'],
|
|
1661
|
+
banlist: [
|
|
1662
|
+
'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Eternatus', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh',
|
|
1663
|
+
'Jirachi', 'Kyogre', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Melmetal', 'Mewtwo',
|
|
1664
|
+
'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza', 'Reshiram', 'Solgaleo', 'Urshifu-Base',
|
|
1665
|
+
'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Emergency Exit',
|
|
1666
|
+
'Huge Power', 'Moody', 'Power Construct', 'Shadow Tag', 'Wimp Out', 'Wonder Guard', 'Bolt Beak', 'Fishious Rend',
|
|
1667
|
+
'Shell Smash', 'Swagger',
|
|
1668
|
+
],
|
|
1669
|
+
onBeforeSwitchIn(pokemon) {
|
|
1670
|
+
pokemon.m.curMoves = this.dex.deepClone(pokemon.moves);
|
|
1671
|
+
let ngas = false;
|
|
1672
|
+
for (const poke of this.getAllActive()) {
|
|
1673
|
+
if (this.toID(poke.ability) === 'neutralizinggas') {
|
|
1674
|
+
ngas = true;
|
|
1675
|
+
break;
|
|
1676
|
+
}
|
|
1677
|
+
}
|
|
1678
|
+
const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas'];
|
|
1679
|
+
// Abilities that must be applied before both sides trigger onSwitchIn to correctly
|
|
1680
|
+
// handle switch-in ability-to-ability interactions, e.g. Intimidate counters
|
|
1681
|
+
const NEEDED_BEFORE_SWITCH_IN_ABILITIES = [
|
|
1682
|
+
'clearbody', 'competitive', 'contrary', 'defiant', 'fullmetalbody', 'hypercutter', 'innerfocus',
|
|
1683
|
+
'mirrorarmor', 'oblivious', 'owntempo', 'rattled', 'scrappy', 'simple', 'whitesmoke',
|
|
1684
|
+
];
|
|
1685
|
+
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
1686
|
+
if (ally && ally.ability !== pokemon.ability) {
|
|
1687
|
+
if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability)) &&
|
|
1688
|
+
NEEDED_BEFORE_SWITCH_IN_ABILITIES.includes(this.toID(ally.ability))) {
|
|
1689
|
+
pokemon.m.innate = 'ability:' + ally.ability;
|
|
1690
|
+
delete pokemon.volatiles[pokemon.m.innate];
|
|
1691
|
+
if (!ngas || ally.getAbility().isPermanent)
|
|
1692
|
+
pokemon.addVolatile(pokemon.m.innate);
|
|
1693
|
+
}
|
|
1694
|
+
if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability)) &&
|
|
1695
|
+
NEEDED_BEFORE_SWITCH_IN_ABILITIES.includes(this.toID(pokemon.ability))) {
|
|
1696
|
+
ally.m.innate = 'ability:' + pokemon.ability;
|
|
1697
|
+
delete ally.volatiles[ally.m.innate];
|
|
1698
|
+
if (!ngas || pokemon.getAbility().isPermanent)
|
|
1699
|
+
ally.addVolatile(ally.m.innate);
|
|
1700
|
+
}
|
|
1701
|
+
}
|
|
1702
|
+
},
|
|
1703
|
+
onSwitchInPriority: 2,
|
|
1704
|
+
onSwitchIn(pokemon) {
|
|
1705
|
+
let ngas = false;
|
|
1706
|
+
for (const poke of this.getAllActive()) {
|
|
1707
|
+
if (this.toID(poke.ability) === 'neutralizinggas') {
|
|
1708
|
+
ngas = true;
|
|
1709
|
+
break;
|
|
1710
|
+
}
|
|
1711
|
+
}
|
|
1712
|
+
const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas'];
|
|
1713
|
+
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
1714
|
+
if (ally && ally.ability !== pokemon.ability) {
|
|
1715
|
+
if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability))) {
|
|
1716
|
+
pokemon.m.innate = 'ability:' + ally.ability;
|
|
1717
|
+
delete pokemon.volatiles[pokemon.m.innate];
|
|
1718
|
+
if (!ngas || ally.getAbility().isPermanent)
|
|
1719
|
+
pokemon.addVolatile(pokemon.m.innate);
|
|
1720
|
+
}
|
|
1721
|
+
if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability))) {
|
|
1722
|
+
ally.m.innate = 'ability:' + pokemon.ability;
|
|
1723
|
+
delete ally.volatiles[ally.m.innate];
|
|
1724
|
+
if (!ngas || pokemon.getAbility().isPermanent)
|
|
1725
|
+
ally.addVolatile(ally.m.innate);
|
|
1726
|
+
}
|
|
1727
|
+
}
|
|
1728
|
+
},
|
|
1729
|
+
onSwitchOut(pokemon) {
|
|
1730
|
+
if (pokemon.m.innate) {
|
|
1731
|
+
pokemon.removeVolatile(pokemon.m.innate);
|
|
1732
|
+
delete pokemon.m.innate;
|
|
1733
|
+
}
|
|
1734
|
+
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
1735
|
+
if (ally && ally.m.innate) {
|
|
1736
|
+
ally.removeVolatile(ally.m.innate);
|
|
1737
|
+
delete ally.m.innate;
|
|
1738
|
+
}
|
|
1739
|
+
},
|
|
1740
|
+
onFaint(pokemon) {
|
|
1741
|
+
if (pokemon.m.innate) {
|
|
1742
|
+
pokemon.removeVolatile(pokemon.m.innate);
|
|
1743
|
+
delete pokemon.m.innate;
|
|
1744
|
+
}
|
|
1745
|
+
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
1746
|
+
if (ally && ally.m.innate) {
|
|
1747
|
+
ally.removeVolatile(ally.m.innate);
|
|
1748
|
+
delete ally.m.innate;
|
|
1749
|
+
}
|
|
1750
|
+
},
|
|
1751
|
+
},
|
|
1733
1752
|
{
|
|
1734
1753
|
name: "[Gen 8] Pokebilities",
|
|
1735
1754
|
desc: `Pokémon have all of their released abilities simultaneously.`,
|
|
@@ -2135,10 +2154,11 @@ exports.Formats = [
|
|
|
2135
2154
|
column: 2,
|
|
2136
2155
|
},
|
|
2137
2156
|
{
|
|
2138
|
-
name: "[Gen
|
|
2139
|
-
mod: '
|
|
2140
|
-
team: '
|
|
2141
|
-
ruleset: ['
|
|
2157
|
+
name: "[Gen 7] Pick-Your-Team Random Battle",
|
|
2158
|
+
mod: 'gen7',
|
|
2159
|
+
team: 'random',
|
|
2160
|
+
ruleset: ['[Gen 7] Random Battle', 'Max Team Size = 12', 'Picked Team Size = 6', 'Team Preview'],
|
|
2161
|
+
desc: `Twelve Pokémon sets are randomly chosen, then you pick six for your team!`,
|
|
2142
2162
|
},
|
|
2143
2163
|
// Randomized Metas
|
|
2144
2164
|
///////////////////////////////////////////////////////////////////
|
|
@@ -2193,6 +2213,13 @@ exports.Formats = [
|
|
|
2193
2213
|
}
|
|
2194
2214
|
},
|
|
2195
2215
|
},
|
|
2216
|
+
{
|
|
2217
|
+
name: "[Gen 8] Battle Factory",
|
|
2218
|
+
desc: `Randomized teams of Pokémon for a generated Smogon tier with sets that are competitively viable.`,
|
|
2219
|
+
mod: 'gen8',
|
|
2220
|
+
team: 'randomFactory',
|
|
2221
|
+
ruleset: ['Standard', 'Dynamax Clause'],
|
|
2222
|
+
},
|
|
2196
2223
|
{
|
|
2197
2224
|
name: "[Gen 8] BSS Factory",
|
|
2198
2225
|
desc: `Randomized 3v3 Singles featuring Pokémon and movesets popular in Battle Stadium Singles.`,
|
|
@@ -2460,41 +2487,32 @@ exports.Formats = [
|
|
|
2460
2487
|
column: 3,
|
|
2461
2488
|
},
|
|
2462
2489
|
{
|
|
2463
|
-
name: "[Gen
|
|
2490
|
+
name: "[Gen 5] Ubers",
|
|
2464
2491
|
threads: [
|
|
2465
|
-
`• <a href="https://www.smogon.com/forums/posts/
|
|
2492
|
+
`• <a href="https://www.smogon.com/forums/posts/8286278/">BW2 Ubers</a>`,
|
|
2466
2493
|
],
|
|
2467
|
-
mod: '
|
|
2494
|
+
mod: 'gen5',
|
|
2468
2495
|
// searchShow: false,
|
|
2469
|
-
ruleset: ['Standard'],
|
|
2470
|
-
banlist: ['AG'],
|
|
2496
|
+
ruleset: ['Standard', 'Sleep Clause Mod'],
|
|
2471
2497
|
},
|
|
2472
2498
|
{
|
|
2473
|
-
name: "[Gen
|
|
2499
|
+
name: "[Gen 7] PU",
|
|
2474
2500
|
threads: [
|
|
2475
|
-
`• <a href="https://www.smogon.com/
|
|
2476
|
-
`• <a href="https://www.smogon.com/forums/
|
|
2501
|
+
`• <a href="https://www.smogon.com/forums/threads/3611496/">USM PU Sample Teams</a>`,
|
|
2502
|
+
`• <a href="https://www.smogon.com/forums/threads/3614892/">USM PU Viability Rankings</a>`,
|
|
2477
2503
|
],
|
|
2478
|
-
mod: '
|
|
2504
|
+
mod: 'gen7',
|
|
2479
2505
|
// searchShow: false,
|
|
2480
|
-
ruleset: ['
|
|
2481
|
-
banlist: [
|
|
2482
|
-
'Meditite', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Yanma',
|
|
2483
|
-
'Berry Juice', 'Deep Sea Tooth', 'Dragon Rage', 'Sonic Boom', 'Swagger',
|
|
2484
|
-
],
|
|
2506
|
+
ruleset: ['[Gen 7] NU'],
|
|
2507
|
+
banlist: ['NU', 'PUBL'],
|
|
2485
2508
|
},
|
|
2486
2509
|
{
|
|
2487
|
-
name: "[Gen
|
|
2488
|
-
threads: [
|
|
2489
|
-
|
|
2490
|
-
],
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
ruleset: [
|
|
2494
|
-
'Picked Team Size = 3', 'Min Level = 50', 'Max Level = 55', 'Max Total Level = 155',
|
|
2495
|
-
'Obtainable', 'Team Preview', 'Stadium Sleep Clause', 'Species Clause', 'Nickname Clause', 'HP Percentage Mod', 'Cancel Mod', 'Nintendo Cup 1997 Move Legality',
|
|
2496
|
-
],
|
|
2497
|
-
banlist: ['Uber'],
|
|
2510
|
+
name: "[Gen 2] UUBL",
|
|
2511
|
+
threads: [`• <a href="https://www.smogon.com/forums/threads/3662389/">GSC UUBL</a>`],
|
|
2512
|
+
mod: 'gen2',
|
|
2513
|
+
ruleset: ['[Gen 2] OU'],
|
|
2514
|
+
banlist: ['OU'],
|
|
2515
|
+
unbanlist: ['Mean Look + Baton Pass', 'Spider Web + Baton Pass'],
|
|
2498
2516
|
},
|
|
2499
2517
|
// Past Gens OU
|
|
2500
2518
|
///////////////////////////////////////////////////////////////////
|
|
@@ -2747,17 +2765,6 @@ exports.Formats = [
|
|
|
2747
2765
|
ruleset: ['[Gen 7] RU'],
|
|
2748
2766
|
banlist: ['RU', 'NUBL', 'Drought'],
|
|
2749
2767
|
},
|
|
2750
|
-
{
|
|
2751
|
-
name: "[Gen 7] PU",
|
|
2752
|
-
threads: [
|
|
2753
|
-
`• <a href="https://www.smogon.com/forums/threads/3611496/">USM PU Sample Teams</a>`,
|
|
2754
|
-
`• <a href="https://www.smogon.com/forums/threads/3614892/">USM PU Viability Rankings</a>`,
|
|
2755
|
-
],
|
|
2756
|
-
mod: 'gen7',
|
|
2757
|
-
searchShow: false,
|
|
2758
|
-
ruleset: ['[Gen 7] NU'],
|
|
2759
|
-
banlist: ['NU', 'PUBL'],
|
|
2760
|
-
},
|
|
2761
2768
|
{
|
|
2762
2769
|
name: "[Gen 7] LC",
|
|
2763
2770
|
threads: [
|
|
@@ -2804,10 +2811,11 @@ exports.Formats = [
|
|
|
2804
2811
|
'Obtainable', 'Species Clause', 'Nickname Clause', 'OHKO Clause', 'Swagger Clause', 'Evasion Moves Clause', 'Accuracy Moves Clause', 'Team Preview', 'HP Percentage Mod', 'Cancel Mod', 'Endless Battle Clause',
|
|
2805
2812
|
],
|
|
2806
2813
|
banlist: [
|
|
2807
|
-
'Arceus', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon',
|
|
2808
|
-
'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Marshadow', '
|
|
2809
|
-
'
|
|
2810
|
-
'
|
|
2814
|
+
'Arceus', 'Darkrai', 'Deoxys-Base', 'Deoxys-Attack', 'Deoxys-Defense', 'Dialga', 'Giratina', 'Giratina-Origin', 'Groudon',
|
|
2815
|
+
'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-Black', 'Kyurem-White', 'Lugia', 'Lunala', 'Marshadow', 'Mew', 'Mewtwo',
|
|
2816
|
+
'Mimikyu', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky',
|
|
2817
|
+
'Snorlax', 'Solgaleo', 'Tapu Koko', 'Xerneas', 'Yveltal', 'Zekrom', 'Moody', 'Focus Sash', 'Grass Whistle', 'Hypnosis',
|
|
2818
|
+
'Perish Song', 'Sing', 'Detect + Fightinium Z',
|
|
2811
2819
|
],
|
|
2812
2820
|
},
|
|
2813
2821
|
{
|
|
@@ -3257,15 +3265,6 @@ exports.Formats = [
|
|
|
3257
3265
|
section: "B2/W2 Singles",
|
|
3258
3266
|
column: 4,
|
|
3259
3267
|
},
|
|
3260
|
-
{
|
|
3261
|
-
name: "[Gen 5] Ubers",
|
|
3262
|
-
threads: [
|
|
3263
|
-
`• <a href="https://www.smogon.com/forums/posts/8286278/">BW2 Ubers</a>`,
|
|
3264
|
-
],
|
|
3265
|
-
mod: 'gen5',
|
|
3266
|
-
searchShow: false,
|
|
3267
|
-
ruleset: ['Standard', 'Sleep Clause Mod'],
|
|
3268
|
-
},
|
|
3269
3268
|
{
|
|
3270
3269
|
name: "[Gen 5] UU",
|
|
3271
3270
|
threads: [
|
|
@@ -3446,6 +3445,16 @@ exports.Formats = [
|
|
|
3446
3445
|
section: "DPP Singles",
|
|
3447
3446
|
column: 5,
|
|
3448
3447
|
},
|
|
3448
|
+
{
|
|
3449
|
+
name: "[Gen 4] Ubers",
|
|
3450
|
+
threads: [
|
|
3451
|
+
`• <a href="https://www.smogon.com/forums/posts/8286279/">DPP Ubers</a>`,
|
|
3452
|
+
],
|
|
3453
|
+
mod: 'gen4',
|
|
3454
|
+
searchShow: false,
|
|
3455
|
+
ruleset: ['Standard'],
|
|
3456
|
+
banlist: ['AG'],
|
|
3457
|
+
},
|
|
3449
3458
|
{
|
|
3450
3459
|
name: "[Gen 4] UU",
|
|
3451
3460
|
threads: [
|
|
@@ -3486,6 +3495,20 @@ exports.Formats = [
|
|
|
3486
3495
|
'Sharpedo', 'Shiftry', 'Skuntank', 'Slowking', 'Tauros', 'Typhlosion', 'Venomoth', 'Vileplume',
|
|
3487
3496
|
],
|
|
3488
3497
|
},
|
|
3498
|
+
{
|
|
3499
|
+
name: "[Gen 4] LC",
|
|
3500
|
+
threads: [
|
|
3501
|
+
`• <a href="https://www.smogon.com/dp/articles/little_cup_guide">DPP LC Guide</a>`,
|
|
3502
|
+
`• <a href="https://www.smogon.com/forums/posts/7336500/">DPP LC Viability Rankings</a>`,
|
|
3503
|
+
],
|
|
3504
|
+
mod: 'gen4',
|
|
3505
|
+
searchShow: false,
|
|
3506
|
+
ruleset: ['Standard', 'Little Cup', 'Sleep Moves Clause'],
|
|
3507
|
+
banlist: [
|
|
3508
|
+
'Meditite', 'Misdreavus', 'Murkrow', 'Scyther', 'Sneasel', 'Tangela', 'Yanma',
|
|
3509
|
+
'Berry Juice', 'Deep Sea Tooth', 'Dragon Rage', 'Sonic Boom', 'Swagger',
|
|
3510
|
+
],
|
|
3511
|
+
},
|
|
3489
3512
|
{
|
|
3490
3513
|
name: "[Gen 4] Anything Goes",
|
|
3491
3514
|
mod: 'gen4',
|
|
@@ -3628,7 +3651,7 @@ exports.Formats = [
|
|
|
3628
3651
|
'Clefable', 'Slaking', 'Snorlax', 'Suicune', 'Zapdos', 'Destiny Bond', 'Explosion', 'Ingrain', 'Perish Song',
|
|
3629
3652
|
'Self-Destruct', 'Focus Band', 'King\'s Rock', 'Quick Claw',
|
|
3630
3653
|
],
|
|
3631
|
-
unbanlist: ['Mr. Mime', 'Wobbuffet', 'Wynaut', 'Sand Veil'],
|
|
3654
|
+
unbanlist: ['Mr. Mime', 'Wobbuffet', 'Wynaut', 'Sand Veil', 'Soundproof'],
|
|
3632
3655
|
},
|
|
3633
3656
|
{
|
|
3634
3657
|
name: "[Gen 3] Doubles OU",
|
|
@@ -3747,7 +3770,7 @@ exports.Formats = [
|
|
|
3747
3770
|
],
|
|
3748
3771
|
mod: 'gen1',
|
|
3749
3772
|
searchShow: false,
|
|
3750
|
-
ruleset: ['[Gen 1] OU', 'APT Clause'],
|
|
3773
|
+
ruleset: ['[Gen 1] OU', 'APT Clause', 'Sleep Moves Clause'],
|
|
3751
3774
|
banlist: ['OU', 'UUBL'],
|
|
3752
3775
|
},
|
|
3753
3776
|
{
|
|
@@ -3757,7 +3780,7 @@ exports.Formats = [
|
|
|
3757
3780
|
],
|
|
3758
3781
|
mod: 'gen1',
|
|
3759
3782
|
searchShow: false,
|
|
3760
|
-
ruleset: ['[Gen 1] UU', '!APT Clause'],
|
|
3783
|
+
ruleset: ['[Gen 1] UU', '!APT Clause', '!Sleep Moves Clause'],
|
|
3761
3784
|
banlist: ['UU', 'NUBL'],
|
|
3762
3785
|
},
|
|
3763
3786
|
{
|
|
@@ -3781,6 +3804,19 @@ exports.Formats = [
|
|
|
3781
3804
|
ruleset: ['Standard'],
|
|
3782
3805
|
banlist: ['Uber'],
|
|
3783
3806
|
},
|
|
3807
|
+
{
|
|
3808
|
+
name: "[Gen 1] Nintendo Cup 1997",
|
|
3809
|
+
threads: [
|
|
3810
|
+
`• <a href="https://www.smogon.com/forums/threads/3682412/">Nintendo Cup 1997 Discussion & Resources</a>`,
|
|
3811
|
+
],
|
|
3812
|
+
mod: 'gen1jpn',
|
|
3813
|
+
searchShow: false,
|
|
3814
|
+
ruleset: [
|
|
3815
|
+
'Picked Team Size = 3', 'Min Level = 50', 'Max Level = 55', 'Max Total Level = 155',
|
|
3816
|
+
'Obtainable', 'Team Preview', 'Stadium Sleep Clause', 'Species Clause', 'Nickname Clause', 'HP Percentage Mod', 'Cancel Mod', 'Nintendo Cup 1997 Move Legality',
|
|
3817
|
+
],
|
|
3818
|
+
banlist: ['Uber'],
|
|
3819
|
+
},
|
|
3784
3820
|
{
|
|
3785
3821
|
name: "[Gen 1] Stadium OU",
|
|
3786
3822
|
threads: [
|