@pkmn/sim 0.5.24 → 0.5.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.
- package/build/config/formats.js +202 -88
- package/build/config/formats.js.map +1 -1
- package/build/data/aliases.js +7 -3
- package/build/data/aliases.js.map +1 -1
- package/build/data/formats-data.js +823 -20
- package/build/data/formats-data.js.map +1 -1
- package/build/data/learnsets.js +64 -39
- package/build/data/learnsets.js.map +1 -1
- package/build/data/mods/gen2/moves.js +0 -5
- package/build/data/mods/gen2/moves.js.map +1 -1
- package/build/data/mods/gen2/rulesets.js +7 -1
- package/build/data/mods/gen2/rulesets.js.map +1 -1
- package/build/data/mods/gen3/rulesets.js +1 -1
- package/build/data/mods/gen3/rulesets.js.map +1 -1
- package/build/data/mods/gen4/rulesets.js +1 -1
- package/build/data/mods/gen4/rulesets.js.map +1 -1
- package/build/data/mods/gen5/rulesets.js +1 -1
- package/build/data/mods/gen5/rulesets.js.map +1 -1
- package/build/data/mods/gen7/rulesets.js +1 -1
- package/build/data/mods/gen7/rulesets.js.map +1 -1
- package/build/data/rulesets.js +1 -0
- package/build/data/rulesets.js.map +1 -1
- package/build/data/tags.js +26 -9
- package/build/data/tags.js.map +1 -1
- package/build/sim/battle.d.ts +1 -1
- package/build/sim/battle.js.map +1 -1
- package/build/sim/dex-conditions.d.ts +1 -0
- package/build/sim/dex-conditions.js.map +1 -1
- package/build/sim/dex-species.d.ts +5 -0
- package/build/sim/dex-species.js +11 -3
- package/build/sim/dex-species.js.map +1 -1
- package/build/sim/exported-global-types.d.ts +2 -0
- package/build/sim/global-types.d.ts +2 -0
- package/build/sim/team-validator.js +5 -1
- package/build/sim/team-validator.js.map +1 -1
- package/config/formats.ts +204 -89
- package/data/aliases.ts +7 -3
- package/data/formats-data.ts +823 -20
- package/data/learnsets.ts +64 -39
- package/data/mods/gen2/moves.ts +0 -5
- package/data/mods/gen2/rulesets.ts +8 -1
- package/data/mods/gen3/rulesets.ts +1 -1
- package/data/mods/gen4/rulesets.ts +1 -1
- package/data/mods/gen5/rulesets.ts +1 -1
- package/data/mods/gen7/rulesets.ts +1 -1
- package/data/rulesets.ts +1 -0
- package/data/tags.ts +27 -9
- package/package.json +2 -2
- package/sim/battle.ts +1 -1
- package/sim/dex-conditions.ts +1 -0
- package/sim/dex-species.ts +15 -3
- package/sim/exported-global-types.ts +2 -0
- package/sim/global-types.ts +2 -0
- package/sim/team-validator.ts +6 -1
package/config/formats.ts
CHANGED
|
@@ -284,14 +284,6 @@ export const Formats: FormatList = [
|
|
|
284
284
|
name: "[Gen 8] Battle Stadium Singles",
|
|
285
285
|
|
|
286
286
|
mod: 'gen8',
|
|
287
|
-
ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'Limit Two Restricted'],
|
|
288
|
-
restricted: ['Restricted Legendary'],
|
|
289
|
-
},
|
|
290
|
-
{
|
|
291
|
-
name: "[Gen 8] Battle Stadium Singles Series 13",
|
|
292
|
-
|
|
293
|
-
mod: 'gen8',
|
|
294
|
-
searchShow: false,
|
|
295
287
|
ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8'],
|
|
296
288
|
banlist: ['Eternatus-Eternamax'],
|
|
297
289
|
unbanlist: ['Mythical', 'Restricted Legendary'],
|
|
@@ -397,11 +389,17 @@ export const Formats: FormatList = [
|
|
|
397
389
|
|
|
398
390
|
mod: 'gen8',
|
|
399
391
|
gameType: 'doubles',
|
|
400
|
-
searchShow: false,
|
|
401
392
|
ruleset: ['Flat Rules', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer'],
|
|
402
393
|
banlist: ['Eternatus-Eternamax'],
|
|
403
394
|
unbanlist: ['Mythical', 'Restricted Legendary'],
|
|
404
395
|
},
|
|
396
|
+
{
|
|
397
|
+
name: "[Gen 8] Spikemuth Cup",
|
|
398
|
+
|
|
399
|
+
mod: 'gen8',
|
|
400
|
+
gameType: 'doubles',
|
|
401
|
+
ruleset: ['Flat Rules', 'Dynamax Clause', '!! Adjust Level = 50', 'Min Source Gen = 8', 'VGC Timer'],
|
|
402
|
+
},
|
|
405
403
|
{
|
|
406
404
|
name: "[Gen 8] VGC 2021",
|
|
407
405
|
|
|
@@ -508,17 +506,7 @@ export const Formats: FormatList = [
|
|
|
508
506
|
|
|
509
507
|
mod: 'gen8',
|
|
510
508
|
ruleset: ['Standard NatDex', 'OHKO Clause', 'Evasion Moves Clause', 'Species Clause', 'Dynamax Clause', 'Sleep Clause Mod'],
|
|
511
|
-
banlist: [
|
|
512
|
-
'Alakazam-Mega', 'Arceus', 'Blastoise-Mega', 'Blaziken-Mega', 'Calyrex-Ice', 'Calyrex-Shadow', 'Cinderace', 'Darkrai',
|
|
513
|
-
'Darmanitan-Galar', 'Deoxys-Attack', 'Deoxys-Base', 'Deoxys-Speed', 'Dialga', 'Dracovish', 'Dragapult', 'Eternatus',
|
|
514
|
-
'Genesect', 'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Groudon', 'Ho-Oh', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-Black',
|
|
515
|
-
'Kyurem-White', 'Landorus-Base', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna', 'Marshadow', 'Metagross-Mega', 'Mewtwo',
|
|
516
|
-
'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Necrozma-Ultra', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram',
|
|
517
|
-
'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Spectrier', 'Tornadus-Therian', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian',
|
|
518
|
-
'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Zygarde-Base', 'Zygarde-Complete', 'Arena Trap', 'Moody',
|
|
519
|
-
'Power Construct', 'Sand Veil', 'Shadow Tag', 'Snow Cloak', 'Bright Powder', 'King\'s Rock', 'Lax Incense', 'Razor Fang',
|
|
520
|
-
'Quick Claw', 'Baton Pass',
|
|
521
|
-
],
|
|
509
|
+
banlist: ['ND Uber', 'Arena Trap', 'Moody', 'Power Construct', 'Sand Veil', 'Shadow Tag', 'Snow Cloak', 'Bright Powder', 'King\'s Rock', 'Lax Incense', 'Razor Fang', 'Quick Claw', 'Baton Pass'],
|
|
522
510
|
},
|
|
523
511
|
{
|
|
524
512
|
name: "[Gen 8] National Dex UU",
|
|
@@ -530,25 +518,18 @@ export const Formats: FormatList = [
|
|
|
530
518
|
|
|
531
519
|
mod: 'gen8',
|
|
532
520
|
ruleset: ['[Gen 8] National Dex'],
|
|
533
|
-
banlist: [
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
'ND UUBL', // National Dex UUBL
|
|
540
|
-
'Drizzle', 'Drought', 'Light Clay',
|
|
541
|
-
// Slowbronite is banned so it doesn't validate on Galarian Slowbro
|
|
542
|
-
'Slowbronite',
|
|
543
|
-
],
|
|
544
|
-
// Used to distinguish UU from below UU in the client
|
|
545
|
-
restricted: [
|
|
546
|
-
'Aegislash', 'Altaria-Mega', 'Amoonguss', 'Azumarill', 'Beedrill-Mega', 'Breloom', 'Celesteela', 'Chandelure', 'Donphan', 'Dracozolt',
|
|
547
|
-
'Dragonite', 'Feraligatr', 'Gastrodon', 'Hatterene', 'Hippowdon', 'Infernape', 'Keldeo', 'Krookodile', 'Mamoswine', 'Mandibuzz',
|
|
548
|
-
'Manectric-Mega', 'Melmetal', 'Mienshao', 'Moltres-Base', 'Nidoking', 'Nidoqueen', 'Nihilego', 'Quagsire', 'Regieleki', 'Ribombee',
|
|
549
|
-
'Rotom-Heat', 'Rotom-Wash', 'Salamence', 'Scizor', 'Skarmory', 'Slowking-Base', 'Swampert-Base', 'Talonflame', 'Tangrowth', 'Tornadus-Base',
|
|
550
|
-
'Umbreon', 'Urshifu-Rapid-Strike',
|
|
521
|
+
banlist: ['ND OU', 'ND UUBL', 'Drizzle', 'Drought', 'Light Clay', 'Slowbronite'],
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
name: "[Gen 8] National Dex RU",
|
|
525
|
+
threads: [
|
|
526
|
+
`• <a href="https://www.smogon.com/forums/threads/3691290/">National Dex RU</a>`,
|
|
551
527
|
],
|
|
528
|
+
|
|
529
|
+
mod: 'gen8',
|
|
530
|
+
searchShow: false,
|
|
531
|
+
ruleset: ['[Gen 8] National Dex UU'],
|
|
532
|
+
banlist: ['ND UU', 'ND RUBL'],
|
|
552
533
|
},
|
|
553
534
|
{
|
|
554
535
|
name: "[Gen 8] National Dex Monotype",
|
|
@@ -587,41 +568,56 @@ export const Formats: FormatList = [
|
|
|
587
568
|
section: "Pet Mods",
|
|
588
569
|
},
|
|
589
570
|
{
|
|
590
|
-
name: "[Gen 8]
|
|
591
|
-
desc: `
|
|
571
|
+
name: "[Gen 8] National Dex BH",
|
|
572
|
+
desc: `Balanced Hackmons with National Dex elements mixed in.`,
|
|
592
573
|
threads: [
|
|
593
|
-
`• <a href="https://www.smogon.com/forums/threads/
|
|
594
|
-
`• <a href="https://docs.google.com/spreadsheets/d/1XsplBqN8njHZJT9cTP_3i3YSFITB9WaVfNOYAbNY75M/edit?usp=sharing">Spreadsheet</a>`,
|
|
574
|
+
`• <a href="https://www.smogon.com/forums/threads/3658587/">National Dex Balanced Hackmons</a>`,
|
|
595
575
|
],
|
|
596
|
-
mod: '
|
|
597
|
-
ruleset: ['Standard', 'Dynamax Clause'],
|
|
598
|
-
banlist: [
|
|
599
|
-
|
|
600
|
-
'
|
|
601
|
-
|
|
602
|
-
'
|
|
603
|
-
|
|
604
|
-
'
|
|
576
|
+
mod: 'gen8',
|
|
577
|
+
ruleset: ['-Nonexistent', 'Standard NatDex', 'Forme Clause', 'Sleep Moves Clause', '2 Ability Clause', 'OHKO Clause', 'Evasion Moves Clause', 'Dynamax Clause', 'CFZ Clause', '!Obtainable'],
|
|
578
|
+
banlist: [
|
|
579
|
+
// Pokemon
|
|
580
|
+
'Eternatus-Eternamax', 'Groudon-Primal', 'Rayquaza-Mega', 'Shedinja', 'Cramorant-Gorging', 'Calyrex-Shadow',
|
|
581
|
+
// Abilities
|
|
582
|
+
'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',
|
|
583
|
+
// Items
|
|
584
|
+
'Gengarite',
|
|
585
|
+
// Moves
|
|
586
|
+
'Chatter', 'Double Iron Bash', 'Octolock', 'Shell Smash', 'Bolt Beak', 'Belly Drum', 'Electrify', 'Court Change',
|
|
587
|
+
// Other
|
|
588
|
+
'Comatose + Sleep Talk', 'Imprison + Transform',
|
|
605
589
|
],
|
|
590
|
+
onValidateSet(set) {
|
|
591
|
+
if (this.toID(set.ability) === 'intrepidsword' &&
|
|
592
|
+
!this.toID(set.species).startsWith('zacian') && this.toID(set.item) !== 'rustedsword') {
|
|
593
|
+
return [`${set.ability} is banned.`];
|
|
594
|
+
}
|
|
595
|
+
if (set.species === 'Zacian-Crowned' &&
|
|
596
|
+
(this.toID(set.item) !== 'rustedsword' || this.toID(set.ability) !== 'intrepidsword')) {
|
|
597
|
+
return [`${set.species} is banned.`];
|
|
598
|
+
}
|
|
599
|
+
},
|
|
600
|
+
onValidateTeam(team) {
|
|
601
|
+
let arceus = 0;
|
|
602
|
+
for (const set of team) {
|
|
603
|
+
const species = this.dex.species.get(set.species);
|
|
604
|
+
if (species.baseSpecies === "Arceus") arceus++;
|
|
605
|
+
}
|
|
606
|
+
if (arceus > 1) {
|
|
607
|
+
return [`You are limited to one Arceus forme.`, `(You have ${arceus} Arceus formes.)`];
|
|
608
|
+
}
|
|
609
|
+
},
|
|
606
610
|
},
|
|
607
611
|
{
|
|
608
|
-
name: "[Gen 8]
|
|
612
|
+
name: "[Gen 8] JolteMons Random Battle",
|
|
613
|
+
desc: `Pokémon, items, abilities, and moves are redesigned for OU, and new items, abilities, and moves are added, all without changing base stats.`,
|
|
609
614
|
threads: [
|
|
610
|
-
`• <a href="https://www.smogon.com/forums/threads/
|
|
611
|
-
`• <a href="https://docs.google.com/spreadsheets/d/
|
|
615
|
+
`• <a href="https://www.smogon.com/forums/threads/3694234/">JolteMons</a>`,
|
|
616
|
+
`• <a href="https://docs.google.com/spreadsheets/d/149ZlQY0bJIAqfWB_233Dvbpqs3pVSHYpIoAQQkwquls/edit?usp=sharing">Spreadsheet</a>`,
|
|
612
617
|
],
|
|
618
|
+
mod: 'joltemons',
|
|
613
619
|
team: 'random',
|
|
614
|
-
|
|
615
|
-
ruleset: ['Standard NatDex'],
|
|
616
|
-
onSwitchIn(pokemon) {
|
|
617
|
-
this.add('-start', pokemon, 'typechange', pokemon.species.types.join('/'), '[silent]');
|
|
618
|
-
},
|
|
619
|
-
onChangeSet(set) {
|
|
620
|
-
if (set.species === 'Chillyte-Mega') {
|
|
621
|
-
set.species = 'Chillyte';
|
|
622
|
-
set.ability = 'Grassy Surge';
|
|
623
|
-
}
|
|
624
|
-
},
|
|
620
|
+
ruleset: ['Dynamax Clause', 'Obtainable', 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod', 'Mega Data Mod', 'Z-Move Clause'],
|
|
625
621
|
},
|
|
626
622
|
{
|
|
627
623
|
name: "[Gen 6] NEXT OU",
|
|
@@ -644,34 +640,115 @@ export const Formats: FormatList = [
|
|
|
644
640
|
column: 2,
|
|
645
641
|
},
|
|
646
642
|
{
|
|
647
|
-
name: "[Gen 8]
|
|
648
|
-
desc: `
|
|
643
|
+
name: "[Gen 8] Partners in Crime",
|
|
644
|
+
desc: `Doubles-based metagame where both active ally Pokémon share abilities and moves.`,
|
|
649
645
|
threads: [
|
|
650
|
-
`• <a href="https://www.smogon.com/forums/threads/
|
|
646
|
+
`• <a href="https://www.smogon.com/forums/threads/3706080/">Partners in Crime</a>`,
|
|
651
647
|
],
|
|
652
648
|
|
|
653
|
-
mod: '
|
|
654
|
-
|
|
649
|
+
mod: 'partnersincrime',
|
|
650
|
+
gameType: 'doubles',
|
|
651
|
+
// searchShow: false,
|
|
652
|
+
ruleset: ['Standard Doubles', 'Dynamax Clause'],
|
|
655
653
|
banlist: [
|
|
656
|
-
'Calyrex-
|
|
657
|
-
'
|
|
654
|
+
'Calyrex-Ice', 'Calyrex-Shadow', 'Dialga', 'Eternatus', 'Giratina', 'Giratina-Origin',
|
|
655
|
+
'Groudon', 'Ho-Oh', 'Jirachi', 'Kyogre', 'Kyurem-White', 'Lugia', 'Lunala', 'Magearna',
|
|
656
|
+
'Marshadow', 'Melmetal', 'Mewtwo', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia',
|
|
657
|
+
'Rayquaza', 'Reshiram', 'Solgaleo', 'Urshifu-Base', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned',
|
|
658
|
+
'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Bolt Beak', 'Fishious Rend', 'Shell Smash',
|
|
659
|
+
'Emergency Exit', 'Huge Power', 'Moody', 'Power Construct', 'Shadow Tag', 'Wimp Out', 'Wonder Guard',
|
|
658
660
|
],
|
|
661
|
+
onBeforeSwitchIn(pokemon) {
|
|
662
|
+
pokemon.m.curMoves = this.dex.deepClone(pokemon.moves);
|
|
663
|
+
let ngas = false;
|
|
664
|
+
for (const poke of this.getAllActive()) {
|
|
665
|
+
if (this.toID(poke.ability) === ('neutralizinggas' as ID)) {
|
|
666
|
+
ngas = true;
|
|
667
|
+
break;
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas'];
|
|
671
|
+
// Abilities that must be applied before both sides trigger onSwitchIn to correctly
|
|
672
|
+
// handle switch-in ability-to-ability interactions, e.g. Intimidate counters
|
|
673
|
+
const NEEDED_BEFORE_SWITCH_IN_ABILITIES = [
|
|
674
|
+
'clearbody', 'competitive', 'contrary', 'defiant', 'fullmetalbody', 'hypercutter', 'innerfocus',
|
|
675
|
+
'mirrorarmor', 'oblivious', 'owntempo', 'rattled', 'scrappy', 'simple', 'whitesmoke',
|
|
676
|
+
];
|
|
677
|
+
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
678
|
+
if (ally && ally.ability !== pokemon.ability) {
|
|
679
|
+
if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability)) &&
|
|
680
|
+
NEEDED_BEFORE_SWITCH_IN_ABILITIES.includes(this.toID(ally.ability))) {
|
|
681
|
+
pokemon.m.innate = 'ability:' + ally.ability;
|
|
682
|
+
delete pokemon.volatiles[pokemon.m.innate];
|
|
683
|
+
if (!ngas || ally.getAbility().isPermanent) pokemon.addVolatile(pokemon.m.innate);
|
|
684
|
+
}
|
|
685
|
+
if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability)) &&
|
|
686
|
+
NEEDED_BEFORE_SWITCH_IN_ABILITIES.includes(this.toID(pokemon.ability))) {
|
|
687
|
+
ally.m.innate = 'ability:' + pokemon.ability;
|
|
688
|
+
delete ally.volatiles[ally.m.innate];
|
|
689
|
+
if (!ngas || pokemon.getAbility().isPermanent) ally.addVolatile(ally.m.innate);
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
},
|
|
693
|
+
onSwitchInPriority: 2,
|
|
694
|
+
onSwitchIn(pokemon) {
|
|
695
|
+
let ngas = false;
|
|
696
|
+
for (const poke of this.getAllActive()) {
|
|
697
|
+
if (this.toID(poke.ability) === ('neutralizinggas' as ID)) {
|
|
698
|
+
ngas = true;
|
|
699
|
+
break;
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
const BAD_ABILITIES = ['trace', 'imposter', 'neutralizinggas'];
|
|
703
|
+
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
704
|
+
if (ally && ally.ability !== pokemon.ability) {
|
|
705
|
+
if (!pokemon.m.innate && !BAD_ABILITIES.includes(this.toID(ally.ability))) {
|
|
706
|
+
pokemon.m.innate = 'ability:' + ally.ability;
|
|
707
|
+
delete pokemon.volatiles[pokemon.m.innate];
|
|
708
|
+
if (!ngas || ally.getAbility().isPermanent) pokemon.addVolatile(pokemon.m.innate);
|
|
709
|
+
}
|
|
710
|
+
if (!ally.m.innate && !BAD_ABILITIES.includes(this.toID(pokemon.ability))) {
|
|
711
|
+
ally.m.innate = 'ability:' + pokemon.ability;
|
|
712
|
+
delete ally.volatiles[ally.m.innate];
|
|
713
|
+
if (!ngas || pokemon.getAbility().isPermanent) ally.addVolatile(ally.m.innate);
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
},
|
|
717
|
+
onSwitchOut(pokemon) {
|
|
718
|
+
if (pokemon.m.innate) {
|
|
719
|
+
pokemon.removeVolatile(pokemon.m.innate);
|
|
720
|
+
delete pokemon.m.innate;
|
|
721
|
+
}
|
|
722
|
+
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
723
|
+
if (ally && ally.m.innate) {
|
|
724
|
+
ally.removeVolatile(ally.m.innate);
|
|
725
|
+
delete ally.m.innate;
|
|
726
|
+
}
|
|
727
|
+
},
|
|
728
|
+
onFaint(pokemon) {
|
|
729
|
+
if (pokemon.m.innate) {
|
|
730
|
+
pokemon.removeVolatile(pokemon.m.innate);
|
|
731
|
+
delete pokemon.m.innate;
|
|
732
|
+
}
|
|
733
|
+
const ally = pokemon.side.active.find(mon => mon && mon !== pokemon && !mon.fainted);
|
|
734
|
+
if (ally && ally.m.innate) {
|
|
735
|
+
ally.removeVolatile(ally.m.innate);
|
|
736
|
+
delete ally.m.innate;
|
|
737
|
+
}
|
|
738
|
+
},
|
|
659
739
|
},
|
|
660
740
|
{
|
|
661
|
-
name: "[Gen 8]
|
|
662
|
-
desc: `
|
|
741
|
+
name: "[Gen 8] Chimera 1v1",
|
|
742
|
+
desc: `One Pokémon inherits specific traits from your entire 6-mon team, based on their order.`,
|
|
663
743
|
threads: [
|
|
664
|
-
`• <a href="https://www.smogon.com/forums/threads/
|
|
744
|
+
`• <a href="https://www.smogon.com/forums/threads/3661215/">Chimera 1v1</a>`,
|
|
665
745
|
],
|
|
666
746
|
|
|
667
747
|
mod: 'gen8',
|
|
668
|
-
ruleset: ['
|
|
748
|
+
ruleset: ['Chimera 1v1 Rule', 'Standard', 'Dynamax Clause', 'Sleep Moves Clause'],
|
|
669
749
|
banlist: [
|
|
670
|
-
'
|
|
671
|
-
'
|
|
672
|
-
'Magearna', 'Mewtwo', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Nidoking', 'Palkia', 'Pheromosa', 'Rayquaza', 'Reshiram',
|
|
673
|
-
'Solgaleo', 'Xerneas', 'Yveltal', 'Zacian', 'Zacian-Crowned', 'Zamazenta', 'Zamazenta-Crowned', 'Zekrom', 'Arena Trap', 'Moody',
|
|
674
|
-
'Power Construct', 'Shadow Tag', 'King\'s Rock', 'Baton Pass', 'Draco Meteor', 'Overheat',
|
|
750
|
+
'Shedinja', 'Huge Power', 'Moody', 'Neutralizing Gas', 'Truant', 'Perish Body', 'Eviolite', 'Focus Sash', 'Leek', 'Light Ball',
|
|
751
|
+
'Bolt Beak', 'Disable', 'Double Iron Bash', 'Fishious Rend', 'Perish Song', 'Switcheroo', 'Transform', 'Trick',
|
|
675
752
|
],
|
|
676
753
|
},
|
|
677
754
|
|
|
@@ -1046,6 +1123,17 @@ export const Formats: FormatList = [
|
|
|
1046
1123
|
ruleset: ['Standard Doubles'],
|
|
1047
1124
|
banlist: ['DUber', 'Dark Void'],
|
|
1048
1125
|
},
|
|
1126
|
+
{
|
|
1127
|
+
name: "[Gen 8 BDSP] Battle Festival Doubles",
|
|
1128
|
+
threads: [
|
|
1129
|
+
`• <a href="https://www.smogon.com/forums/threads/3694269/">Battle Festival Doubles</a>`,
|
|
1130
|
+
],
|
|
1131
|
+
|
|
1132
|
+
mod: 'gen8bdsp',
|
|
1133
|
+
gameType: 'doubles',
|
|
1134
|
+
searchShow: false,
|
|
1135
|
+
ruleset: ['Flat Rules', 'Min Source Gen = 8'],
|
|
1136
|
+
},
|
|
1049
1137
|
|
|
1050
1138
|
// Challengeable OMs
|
|
1051
1139
|
///////////////////////////////////////////////////////////////////
|
|
@@ -2077,6 +2165,21 @@ export const Formats: FormatList = [
|
|
|
2077
2165
|
},
|
|
2078
2166
|
},
|
|
2079
2167
|
|
|
2168
|
+
// Randomized Format Spotlight
|
|
2169
|
+
///////////////////////////////////////////////////////////////////
|
|
2170
|
+
|
|
2171
|
+
{
|
|
2172
|
+
section: "Randomized Format Spotlight",
|
|
2173
|
+
column: 2,
|
|
2174
|
+
},
|
|
2175
|
+
{
|
|
2176
|
+
name: "[Gen 3] Challenge Cup",
|
|
2177
|
+
|
|
2178
|
+
mod: 'gen3',
|
|
2179
|
+
team: 'randomCC',
|
|
2180
|
+
ruleset: ['Obtainable', 'HP Percentage Mod', 'Cancel Mod'],
|
|
2181
|
+
},
|
|
2182
|
+
|
|
2080
2183
|
// Randomized Metas
|
|
2081
2184
|
///////////////////////////////////////////////////////////////////
|
|
2082
2185
|
|
|
@@ -2765,8 +2868,7 @@ export const Formats: FormatList = [
|
|
|
2765
2868
|
'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega', 'Kartana', 'Kyogre', 'Kyurem-White', 'Lucario-Mega', 'Lugia', 'Lunala', 'Magearna',
|
|
2766
2869
|
'Marshadow', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo', 'Naganadel', 'Necrozma-Dawn-Wings', 'Necrozma-Dusk-Mane', 'Palkia',
|
|
2767
2870
|
'Pheromosa', 'Rayquaza', 'Reshiram', 'Salamence-Mega', 'Shaymin-Sky', 'Solgaleo', 'Tapu Lele', 'Xerneas', 'Yveltal', 'Zekrom', 'Zygarde',
|
|
2768
|
-
'Battle Bond', 'Shadow Tag', '
|
|
2769
|
-
'Smooth Rock', 'Terrain Extender', 'Baton Pass',
|
|
2871
|
+
'Battle Bond', 'Shadow Tag', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Smooth Rock', 'Terrain Extender', 'Baton Pass',
|
|
2770
2872
|
],
|
|
2771
2873
|
},
|
|
2772
2874
|
{
|
|
@@ -3079,8 +3181,7 @@ export const Formats: FormatList = [
|
|
|
3079
3181
|
'Gengar-Mega', 'Giratina', 'Giratina-Origin', 'Greninja', 'Groudon', 'Ho-Oh', 'Hoopa-Unbound', 'Kangaskhan-Mega', 'Kyogre', 'Kyurem-White',
|
|
3080
3182
|
'Lucario-Mega', 'Lugia', 'Mawile-Mega', 'Medicham-Mega', 'Metagross-Mega', 'Mewtwo', 'Palkia', 'Rayquaza', 'Reshiram', 'Sableye-Mega',
|
|
3081
3183
|
'Salamence-Mega', 'Shaymin-Sky', 'Slowbro-Mega', 'Talonflame', 'Xerneas', 'Yveltal', 'Zekrom',
|
|
3082
|
-
'Shadow Tag', '
|
|
3083
|
-
'Soul Dew', 'Baton Pass',
|
|
3184
|
+
'Shadow Tag', 'Damp Rock', 'Focus Band', 'King\'s Rock', 'Quick Claw', 'Razor Fang', 'Smooth Rock', 'Soul Dew', 'Baton Pass',
|
|
3084
3185
|
],
|
|
3085
3186
|
},
|
|
3086
3187
|
{
|
|
@@ -3364,7 +3465,7 @@ export const Formats: FormatList = [
|
|
|
3364
3465
|
'Picked Team Size = 1', 'Max Team Size = 3',
|
|
3365
3466
|
'Standard', 'Baton Pass Clause', 'Swagger Clause', 'Accuracy Moves Clause', 'Sleep Moves Clause',
|
|
3366
3467
|
],
|
|
3367
|
-
banlist: ['Uber', 'Cottonee', 'Dragonite', 'Jirachi', 'Kyurem-Black', 'Mew', 'Togekiss', 'Whimsicott', 'Victini', '
|
|
3468
|
+
banlist: ['Uber', 'Cottonee', 'Dragonite', 'Jirachi', 'Kyurem-Black', 'Mew', 'Togekiss', 'Whimsicott', 'Victini', 'Focus Band', 'Focus Sash', 'Quick Claw', 'Soul Dew', 'Perish Song'],
|
|
3368
3469
|
unbanlist: ['Genesect', 'Landorus', 'Manaphy', 'Thundurus', 'Tornadus-Therian'],
|
|
3369
3470
|
},
|
|
3370
3471
|
{
|
|
@@ -3662,7 +3763,7 @@ export const Formats: FormatList = [
|
|
|
3662
3763
|
mod: 'gen3',
|
|
3663
3764
|
searchShow: false,
|
|
3664
3765
|
ruleset: ['Standard'],
|
|
3665
|
-
banlist: ['Uber', 'OU', 'UUBL', 'Smeargle + Ingrain', 'Arena Trap', '
|
|
3766
|
+
banlist: ['Uber', 'OU', 'UUBL', 'Smeargle + Ingrain', 'Arena Trap', 'Baton Pass', 'Swagger'],
|
|
3666
3767
|
},
|
|
3667
3768
|
{
|
|
3668
3769
|
name: "[Gen 3] NU",
|
|
@@ -3690,7 +3791,7 @@ export const Formats: FormatList = [
|
|
|
3690
3791
|
],
|
|
3691
3792
|
banlist: [
|
|
3692
3793
|
'Clefable', 'Slaking', 'Snorlax', 'Suicune', 'Zapdos', 'Destiny Bond', 'Explosion', 'Ingrain', 'Perish Song',
|
|
3693
|
-
'Self-Destruct', '
|
|
3794
|
+
'Self-Destruct', 'Focus Band', 'King\'s Rock', 'Quick Claw',
|
|
3694
3795
|
],
|
|
3695
3796
|
unbanlist: ['Mr. Mime', 'Wobbuffet', 'Wynaut', 'Sand Veil'],
|
|
3696
3797
|
},
|
|
@@ -3765,7 +3866,7 @@ export const Formats: FormatList = [
|
|
|
3765
3866
|
'[Gen 2] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview',
|
|
3766
3867
|
],
|
|
3767
3868
|
banlist: [
|
|
3768
|
-
'Alakazam', 'Clefable', 'Snorlax', 'Zapdos', 'Berserk Gene', '
|
|
3869
|
+
'Alakazam', 'Clefable', 'Snorlax', 'Zapdos', 'Berserk Gene', 'Focus Band', 'King\'s Rock', 'Quick Claw',
|
|
3769
3870
|
'Attract', 'Destiny Bond', 'Explosion', 'Perish Song', 'Present', 'Self-Destruct', 'Swagger',
|
|
3770
3871
|
],
|
|
3771
3872
|
},
|
|
@@ -3837,6 +3938,20 @@ export const Formats: FormatList = [
|
|
|
3837
3938
|
ruleset: ['[Gen 1] UU', '!APT Clause'],
|
|
3838
3939
|
banlist: ['UU', 'NUBL'],
|
|
3839
3940
|
},
|
|
3941
|
+
{
|
|
3942
|
+
name: "[Gen 1] 1v1",
|
|
3943
|
+
threads: [
|
|
3944
|
+
`• <a href="https://www.smogon.com/forums/posts/8031462">RBY 1v1</a>`,
|
|
3945
|
+
],
|
|
3946
|
+
|
|
3947
|
+
mod: 'gen1',
|
|
3948
|
+
searchShow: false,
|
|
3949
|
+
ruleset: [
|
|
3950
|
+
'Picked Team Size = 1', 'Max Team Size = 3',
|
|
3951
|
+
'[Gen 1] OU', 'Accuracy Moves Clause', 'Sleep Moves Clause', 'Team Preview',
|
|
3952
|
+
],
|
|
3953
|
+
banlist: ['Bind', 'Clamp', 'Explosion', 'Fire Spin', 'Self-Destruct', 'Wrap'],
|
|
3954
|
+
},
|
|
3840
3955
|
{
|
|
3841
3956
|
name: "[Gen 1] Japanese OU",
|
|
3842
3957
|
desc: `Generation 1 with Japanese battle mechanics.`,
|
package/data/aliases.ts
CHANGED
|
@@ -25,6 +25,7 @@ export const Aliases: {[alias: string]: string} = {
|
|
|
25
25
|
"2v2": "[Gen 8] 2v2 Doubles",
|
|
26
26
|
natdex: "[Gen 8] National Dex",
|
|
27
27
|
natdexuu: "[Gen 8] National Dex UU",
|
|
28
|
+
natdexru: "[Gen 8] National Dex RU",
|
|
28
29
|
natdexmonotype: "[Gen 8] National Dex Monotype",
|
|
29
30
|
natdexag: "[Gen 8] National Dex AG",
|
|
30
31
|
natdexbh: "[Gen 8] National Dex BH",
|
|
@@ -33,6 +34,7 @@ export const Aliases: {[alias: string]: string} = {
|
|
|
33
34
|
aaa: "[Gen 8] Almost Any Ability",
|
|
34
35
|
stab: "[Gen 8] STABmons",
|
|
35
36
|
gg: "[Gen 8] Godly Gift",
|
|
37
|
+
pic: "[Gen 8] Partners in Crime",
|
|
36
38
|
camo: "[Gen 8] Camomons",
|
|
37
39
|
ffa: "[Gen 8] Free-For-All",
|
|
38
40
|
ts: "[Gen 8] Tier Shift",
|
|
@@ -49,7 +51,7 @@ export const Aliases: {[alias: string]: string} = {
|
|
|
49
51
|
hackmons: "[Gen 8] Pure Hackmons",
|
|
50
52
|
monorandom: "[Gen 8] Monotype Random Battle",
|
|
51
53
|
bf: "[Gen 7] Battle Factory",
|
|
52
|
-
bssf: "[Gen
|
|
54
|
+
bssf: "[Gen 8] BSS Factory",
|
|
53
55
|
ssb: "[Gen 8] Super Staff Bros 4",
|
|
54
56
|
ssb4: "[Gen 8] Super Staff Bros 4",
|
|
55
57
|
lgrandom: "[Gen 7] Let's Go Random Battle",
|
|
@@ -57,6 +59,7 @@ export const Aliases: {[alias: string]: string} = {
|
|
|
57
59
|
gen7mono: "[Gen 7] Monotype",
|
|
58
60
|
gen7ag: "[Gen 7] Anything Goes",
|
|
59
61
|
gen7bss: "[Gen 7] Battle Spot Singles",
|
|
62
|
+
gen7bssf: "[Gen 7] BSS Factory",
|
|
60
63
|
bfd: "[Gen 8 BDSP] Battle Festival Doubles",
|
|
61
64
|
lgou: "[Gen 7] Let's Go OU",
|
|
62
65
|
vgc20: "[Gen 8] VGC 2020",
|
|
@@ -68,8 +71,8 @@ export const Aliases: {[alias: string]: string} = {
|
|
|
68
71
|
gen6ag: "[Gen 6] Anything Goes",
|
|
69
72
|
crossevo: "[Gen 8] Cross Evolution",
|
|
70
73
|
mayhem: "[Gen 8] Random Battle Mayhem",
|
|
71
|
-
omotm: "[Gen 8]
|
|
72
|
-
lcotm: "[Gen 8]
|
|
74
|
+
omotm: "[Gen 8] Partners in Crime",
|
|
75
|
+
lcotm: "[Gen 8] Chimera 1v1",
|
|
73
76
|
|
|
74
77
|
// mega evos
|
|
75
78
|
fabio: "Ampharos-Mega",
|
|
@@ -664,6 +667,7 @@ export const Aliases: {[alias: string]: string} = {
|
|
|
664
667
|
tr97psychicfangs: "TR97",
|
|
665
668
|
tr98liquidation: "TR98",
|
|
666
669
|
tr99bodypress: "TR99",
|
|
670
|
+
umbrella: "Utility Umbrella",
|
|
667
671
|
wp: "Weakness Policy",
|
|
668
672
|
|
|
669
673
|
// pokemon
|