Refactor forme data

This commit is contained in:
The Immortal 2020-03-18 15:17:55 +04:00
parent 53299ea068
commit bbb4da0131
18 changed files with 194 additions and 607 deletions

View File

@ -4672,8 +4672,8 @@ let BattleAbilities = {
if (!pokemon.volatiles['zenmode'] || !pokemon.hp) return;
pokemon.transformed = false;
delete pokemon.volatiles['zenmode'];
if (pokemon.template.baseSpecies === 'Darmanitan' && pokemon.template.inheritsFrom) {
pokemon.formeChange(/** @type {string} */ (pokemon.template.inheritsFrom), this.effect, false, '[silent]');
if (pokemon.template.baseSpecies === 'Darmanitan' && pokemon.template.battleOnly) {
pokemon.formeChange(/** @type {string} */ (pokemon.template.battleOnly), this.effect, false, '[silent]');
}
},
effect: {
@ -4686,7 +4686,7 @@ let BattleAbilities = {
},
onEnd(pokemon) {
if (['Zen', 'Galar-Zen'].includes(pokemon.template.forme)) {
pokemon.formeChange(/** @type {string} */ (pokemon.template.inheritsFrom));
pokemon.formeChange(/** @type {string} */ (pokemon.template.battleOnly));
}
},
},

View File

@ -14,7 +14,6 @@ let BattleFormatsData = {
doublesTier: "DOU",
},
venusaurmega: {
requiredItem: "Venusaurite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -30,17 +29,14 @@ let BattleFormatsData = {
doublesTier: "DOU",
},
charizardmegax: {
requiredItem: "Charizardite X",
isNonstandard: "Past",
tier: "Illegal",
},
charizardmegay: {
requiredItem: "Charizardite Y",
isNonstandard: "Past",
tier: "Illegal",
},
charizardgmax: {
isGigantamax: "G-Max Wildfire",
tier: "(Uber)",
doublesTier: "DOU",
},
@ -56,7 +52,6 @@ let BattleFormatsData = {
doublesTier: "DOU",
},
blastoisemega: {
requiredItem: "Blastoisinite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -73,7 +68,6 @@ let BattleFormatsData = {
},
butterfreegmax: {
randomBattleMoves: ["airslash", "bugbuzz", "quiverdance", "sleeppowder"],
isGigantamax: "G-Max Befuddle",
tier: "(Uber)",
doublesTier: "DOU",
},
@ -90,7 +84,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
beedrillmega: {
requiredItem: "Beedrillite",
isNonstandard: "Past",
},
pidgey: {
@ -106,7 +99,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
pidgeotmega: {
requiredItem: "Pidgeotite",
isNonstandard: "Past",
},
rattata: {
@ -227,7 +219,6 @@ let BattleFormatsData = {
},
pikachugmax: {
unreleasedHidden: true,
isGigantamax: "G-Max Volt Crash",
tier: "(Uber)",
doublesTier: "(DUU)",
},
@ -395,7 +386,6 @@ let BattleFormatsData = {
},
meowthgmax: {
unreleasedHidden: true,
isGigantamax: "G-Max Gold Rush",
tier: "(Uber)",
doublesTier: "(DUU)",
},
@ -467,7 +457,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
alakazammega: {
requiredItem: "Alakazite",
isNonstandard: "Past",
},
machop: {
@ -482,7 +471,6 @@ let BattleFormatsData = {
doublesTier: "DUU",
},
machampgmax: {
isGigantamax: "G-Max Chi Strike",
tier: "(Uber)",
doublesTier: "DUU",
},
@ -561,7 +549,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
slowbromega: {
requiredItem: "Slowbronite",
isNonstandard: "Past",
},
slowking: {
@ -647,13 +634,11 @@ let BattleFormatsData = {
doublesTier: "DUU",
},
gengarmega: {
requiredItem: "Gengarite",
isNonstandard: "Past",
tier: "Illegal",
},
gengargmax: {
randomBattleMoves: ["focusblast", "nastyplot", "shadowball", "sludgewave", "trick"],
isGigantamax: "G-Max Terror",
tier: "(Uber)",
doublesTier: "DUU",
},
@ -666,7 +651,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
steelixmega: {
requiredItem: "Steelixite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -687,7 +671,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
kinglergmax: {
isGigantamax: "G-Max Foam Burst",
tier: "(Uber)",
doublesTier: "(DUU)",
},
@ -804,7 +787,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
kangaskhanmega: {
requiredItem: "Kangaskhanite",
isNonstandard: "Past",
},
horsea: {
@ -863,7 +845,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
scizormega: {
requiredItem: "Scizorite",
isNonstandard: "Past",
},
smoochum: {
@ -903,7 +884,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
pinsirmega: {
requiredItem: "Pinsirite",
isNonstandard: "Past",
},
tauros: {
@ -919,7 +899,6 @@ let BattleFormatsData = {
doublesTier: "DOU",
},
gyaradosmega: {
requiredItem: "Gyaradosite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -929,7 +908,6 @@ let BattleFormatsData = {
},
laprasgmax: {
randomBattleMoves: ["freezedry", "icebeam", "sparklingaria", "substitute", "thunderbolt", "toxic"],
isGigantamax: "G-Max Resonance",
tier: "(Uber)",
doublesTier: "DOU",
},
@ -947,7 +925,6 @@ let BattleFormatsData = {
},
eeveegmax: {
unreleasedHidden: true,
isGigantamax: "G-Max Cuddle",
tier: "(Uber)",
doublesTier: "(DUU)",
},
@ -1024,7 +1001,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
aerodactylmega: {
requiredItem: "Aerodactylite",
isNonstandard: "Past",
},
munchlax: {
@ -1036,7 +1012,6 @@ let BattleFormatsData = {
},
snorlaxgmax: {
randomBattleMoves: ["bodyslam", "curse", "darkestlariat", "earthquake", "firepunch", "rest"],
isGigantamax: "G-Max Replenish",
tier: "(Uber)",
doublesTier: "DOU",
},
@ -1073,12 +1048,10 @@ let BattleFormatsData = {
doublesTier: "DUber",
},
mewtwomegax: {
requiredItem: "Mewtwonite X",
isNonstandard: "Past",
tier: "Illegal",
},
mewtwomegay: {
requiredItem: "Mewtwonite Y",
isNonstandard: "Past",
tier: "Illegal",
},
@ -1195,7 +1168,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
ampharosmega: {
requiredItem: "Ampharosite",
isNonstandard: "Past",
},
azurill: {
@ -1338,7 +1310,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
heracrossmega: {
requiredItem: "Heracronite",
isNonstandard: "Past",
},
sneasel: {
@ -1427,7 +1398,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
houndoommega: {
requiredItem: "Houndoominite",
isNonstandard: "Past",
},
phanpy: {
@ -1477,7 +1447,6 @@ let BattleFormatsData = {
doublesTier: "DOU",
},
tyranitarmega: {
requiredItem: "Tyranitarite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -1509,7 +1478,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
sceptilemega: {
requiredItem: "Sceptilite",
isNonstandard: "Past",
},
torchic: {
@ -1525,7 +1493,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
blazikenmega: {
requiredItem: "Blazikenite",
isNonstandard: "Past",
},
mudkip: {
@ -1541,7 +1508,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
swampertmega: {
requiredItem: "Swampertite",
isNonstandard: "Past",
},
poochyena: {
@ -1641,7 +1607,6 @@ let BattleFormatsData = {
doublesTier: "DUU",
},
gardevoirmega: {
requiredItem: "Gardevoirite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -1651,7 +1616,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
gallademega: {
requiredItem: "Galladite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -1738,7 +1702,6 @@ let BattleFormatsData = {
doublesTier: "DUU",
},
sableyemega: {
requiredItem: "Sablenite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -1748,7 +1711,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
mawilemega: {
requiredItem: "Mawilite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -1765,7 +1727,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
aggronmega: {
requiredItem: "Aggronite",
isNonstandard: "Past",
},
meditite: {
@ -1777,7 +1738,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
medichammega: {
requiredItem: "Medichamite",
isNonstandard: "Past",
},
electrike: {
@ -1789,7 +1749,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
manectricmega: {
requiredItem: "Manectite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -1837,7 +1796,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
sharpedomega: {
requiredItem: "Sharpedonite",
isNonstandard: "Past",
},
wailmer: {
@ -1857,7 +1815,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
cameruptmega: {
requiredItem: "Cameruptite",
isNonstandard: "Past",
},
torkoal: {
@ -1905,7 +1862,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
altariamega: {
requiredItem: "Altarianite",
isNonstandard: "Past",
},
zangoose: {
@ -1979,18 +1935,12 @@ let BattleFormatsData = {
tier: "Illegal",
},
castformsunny: {
requiredAbility: "Forecast",
battleOnly: true,
isNonstandard: "Past",
},
castformrainy: {
requiredAbility: "Forecast",
battleOnly: true,
isNonstandard: "Past",
},
castformsnowy: {
requiredAbility: "Forecast",
battleOnly: true,
isNonstandard: "Past",
},
kecleon: {
@ -2006,7 +1956,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
banettemega: {
requiredItem: "Banettite",
isNonstandard: "Past",
},
duskull: {
@ -2038,7 +1987,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
absolmega: {
requiredItem: "Absolite",
isNonstandard: "Past",
},
snorunt: {
@ -2050,7 +1998,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
glaliemega: {
requiredItem: "Glalitite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -2105,7 +2052,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
salamencemega: {
requiredItem: "Salamencite",
isNonstandard: "Past",
},
beldum: {
@ -2122,7 +2068,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
metagrossmega: {
requiredItem: "Metagrossite",
isNonstandard: "Past",
},
regirock: {
@ -2146,7 +2091,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
latiasmega: {
requiredItem: "Latiasite",
isNonstandard: "Past",
},
latios: {
@ -2155,7 +2099,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
latiosmega: {
requiredItem: "Latiosite",
isNonstandard: "Past",
},
kyogre: {
@ -2164,7 +2107,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
kyogreprimal: {
requiredItem: "Blue Orb",
isNonstandard: "Past",
},
groudon: {
@ -2173,7 +2115,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
groudonprimal: {
requiredItem: "Red Orb",
isNonstandard: "Past",
},
rayquaza: {
@ -2182,7 +2123,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
rayquazamega: {
requiredMove: "Dragon Ascent",
isNonstandard: "Past",
},
jirachi: {
@ -2348,8 +2288,6 @@ let BattleFormatsData = {
},
cherrimsunshine: {
randomBattleMoves: ["playrough", "solarblade", "sunnyday", "weatherball"],
requiredAbility: "Flower Gift",
battleOnly: true,
},
shellos: {
tier: "LC",
@ -2376,7 +2314,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
lopunnymega: {
requiredItem: "Lopunnite",
isNonstandard: "Past",
},
glameow: {
@ -2425,7 +2362,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
garchompmega: {
requiredItem: "Garchompite",
isNonstandard: "Past",
},
riolu: {
@ -2437,7 +2373,6 @@ let BattleFormatsData = {
doublesTier: "DUU",
},
lucariomega: {
requiredItem: "Lucarionite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -2486,7 +2421,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
abomasnowmega: {
requiredItem: "Abomasite",
isNonstandard: "Past",
tier: "Illegal",
},
@ -2561,7 +2495,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
giratinaorigin: {
requiredItem: "Griseous Orb",
isNonstandard: "Past",
tier: "Illegal",
},
@ -2595,72 +2528,54 @@ let BattleFormatsData = {
tier: "Illegal",
},
arceusbug: {
requiredItems: ["Insect Plate", "Buginium Z"],
isNonstandard: "Past",
},
arceusdark: {
requiredItems: ["Dread Plate", "Darkinium Z"],
isNonstandard: "Past",
},
arceusdragon: {
requiredItems: ["Draco Plate", "Dragonium Z"],
isNonstandard: "Past",
},
arceuselectric: {
requiredItems: ["Zap Plate", "Electrium Z"],
isNonstandard: "Past",
},
arceusfairy: {
requiredItems: ["Pixie Plate", "Fairium Z"],
isNonstandard: "Past",
},
arceusfighting: {
requiredItems: ["Fist Plate", "Fightinium Z"],
isNonstandard: "Past",
},
arceusfire: {
requiredItems: ["Flame Plate", "Firium Z"],
isNonstandard: "Past",
},
arceusflying: {
requiredItems: ["Sky Plate", "Flyinium Z"],
isNonstandard: "Past",
},
arceusghost: {
requiredItems: ["Spooky Plate", "Ghostium Z"],
isNonstandard: "Past",
},
arceusgrass: {
requiredItems: ["Meadow Plate", "Grassium Z"],
isNonstandard: "Past",
tier: "Illegal",
},
arceusground: {
requiredItems: ["Earth Plate", "Groundium Z"],
isNonstandard: "Past",
},
arceusice: {
requiredItems: ["Icicle Plate", "Icium Z"],
isNonstandard: "Past",
},
arceuspoison: {
requiredItems: ["Toxic Plate", "Poisonium Z"],
isNonstandard: "Past",
},
arceuspsychic: {
requiredItems: ["Mind Plate", "Psychium Z"],
isNonstandard: "Past",
},
arceusrock: {
requiredItems: ["Stone Plate", "Rockium Z"],
isNonstandard: "Past",
},
arceussteel: {
requiredItems: ["Iron Plate", "Steelium Z"],
isNonstandard: "Past",
},
arceuswater: {
requiredItems: ["Splash Plate", "Waterium Z"],
isNonstandard: "Past",
},
victini: {
@ -2814,7 +2729,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
audinomega: {
requiredItem: "Audinite",
isNonstandard: "Past",
},
timburr: {
@ -2922,10 +2836,6 @@ let BattleFormatsData = {
tier: "OU",
doublesTier: "DUU",
},
darmanitanzen: {
requiredAbility: "Zen Mode",
battleOnly: true,
},
darmanitangalar: {
randomBattleMoves: ["earthquake", "flareblitz", "iciclecrash", "superpower", "uturn"],
tier: "Uber",
@ -2933,8 +2843,6 @@ let BattleFormatsData = {
},
darmanitangalarzen: {
randomBattleMoves: ["earthquake", "flareblitz", "iciclecrash", "superpower", "uturn"],
requiredAbility: "Zen Mode",
battleOnly: true,
},
maractus: {
randomBattleMoves: ["drainpunch", "energyball", "leechseed", "spikes", "spikyshield", "toxic"],
@ -3003,7 +2911,6 @@ let BattleFormatsData = {
},
garbodorgmax: {
randomBattleMoves: ["drainpunch", "explosion", "gunkshot", "painsplit", "spikes", "toxicspikes"],
isGigantamax: "G-Max Malodor",
tier: "(Uber)",
doublesTier: "(DUU)",
},
@ -3355,16 +3262,11 @@ let BattleFormatsData = {
tier: "OU",
doublesTier: "DUU",
},
keldeoresolute: {
requiredMove: "Secret Sword",
},
meloetta: {
isNonstandard: "Past",
tier: "Illegal",
},
meloettapirouette: {
requiredMove: "Relic Song",
battleOnly: true,
isNonstandard: "Past",
},
genesect: {
@ -3372,19 +3274,15 @@ let BattleFormatsData = {
tier: "Illegal",
},
genesectburn: {
requiredItem: "Burn Drive",
isNonstandard: "Past",
},
genesectchill: {
requiredItem: "Chill Drive",
isNonstandard: "Past",
},
genesectdouse: {
requiredItem: "Douse Drive",
isNonstandard: "Past",
},
genesectshock: {
requiredItem: "Shock Drive",
isNonstandard: "Past",
},
chespin: {
@ -3424,8 +3322,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
greninjaash: {
requiredAbility: "Battle Bond",
battleOnly: true,
isNonstandard: "Past",
gen: 7,
tier: "Illegal",
@ -3539,10 +3435,6 @@ let BattleFormatsData = {
tier: "OU",
doublesTier: "DUU",
},
aegislashblade: {
requiredAbility: "Stance Change",
battleOnly: true,
},
spritzee: {
tier: "LC",
},
@ -3725,8 +3617,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
zygardecomplete: {
requiredAbility: "Power Construct",
battleOnly: true,
isNonstandard: "Past",
gen: 7,
tier: "Illegal",
@ -3736,7 +3626,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
dianciemega: {
requiredItem: "Diancite",
isNonstandard: "Past",
},
hoopa: {
@ -3885,8 +3774,6 @@ let BattleFormatsData = {
},
wishiwashischool: {
randomBattleMoves: ["earthquake", "hydropump", "icebeam", "scald", "uturn"],
requiredAbility: "Schooling",
battleOnly: true,
},
mareanie: {
tier: "LC",
@ -4012,103 +3899,86 @@ let BattleFormatsData = {
},
silvallybug: {
randomBattleMoves: ["flamethrower", "multiattack", "partingshot", "psychicfangs", "thunderbolt"],
requiredItem: "Bug Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallydark: {
randomBattleMoves: ["ironhead", "multiattack", "partingshot", "psychicfangs", "swordsdance"],
requiredItem: "Dark Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallydragon: {
randomBattleMoves: ["firefang", "ironhead", "multiattack", "partingshot", "swordsdance"],
requiredItem: "Dragon Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallyelectric: {
randomBattleMoves: ["flamethrower", "icebeam", "multiattack", "partingshot", "toxic"],
requiredItem: "Electric Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallyfairy: {
randomBattleMoves: ["firefang", "multiattack", "psychicfangs", "swordsdance"],
requiredItem: "Fairy Memory",
tier: "RU",
doublesTier: "(DUU)",
},
silvallyfighting: {
randomBattleMoves: ["crunch", "ironhead", "multiattack", "swordsdance", "uturn"],
requiredItem: "Fighting Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallyfire: {
randomBattleMoves: ["crunch", "ironhead", "multiattack", "swordsdance"],
requiredItem: "Fire Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallyflying: {
randomBattleMoves: ["firefang", "ironhead", "multiattack", "rockslide", "swordsdance"],
requiredItem: "Flying Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallyghost: {
randomBattleMoves: ["multiattack", "partingshot", "swordsdance", "xscissor"],
requiredItem: "Ghost Memory",
tier: "RU",
doublesTier: "(DUU)",
},
silvallygrass: {
randomBattleMoves: ["defog", "flamethrower", "icebeam", "multiattack", "partingshot"],
requiredItem: "Grass Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallyground: {
randomBattleMoves: ["defog", "flamethrower", "icebeam", "multiattack", "partingshot", "toxic"],
requiredItem: "Ground Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallyice: {
randomBattleMoves: ["firefang", "multiattack", "psychicfangs", "swordsdance"],
requiredItem: "Ice Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallypoison: {
randomBattleMoves: ["defog", "flamethrower", "grasspledge", "multiattack", "partingshot", "toxic"],
requiredItem: "Poison Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallypsychic: {
randomBattleMoves: ["crunch", "multiattack", "swordsdance", "uturn"],
requiredItem: "Psychic Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallyrock: {
randomBattleMoves: ["firefang", "multiattack", "partingshot", "psychicfangs", "swordsdance"],
requiredItem: "Rock Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallysteel: {
randomBattleMoves: ["defog", "flamethrower", "multiattack", "partingshot", "thunderbolt", "toxic"],
requiredItem: "Steel Memory",
tier: "RU",
doublesTier: "(DUU)",
},
silvallywater: {
randomBattleMoves: ["defog", "icebeam", "multiattack", "partingshot", "thunderbolt", "toxic"],
requiredItem: "Water Memory",
tier: "PU",
doublesTier: "(DUU)",
},
@ -4117,8 +3987,6 @@ let BattleFormatsData = {
tier: "Illegal",
},
miniormeteor: {
requiredAbility: "Shields Down",
battleOnly: true,
isNonstandard: "Past",
},
komala: {
@ -4144,17 +4012,11 @@ let BattleFormatsData = {
tier: "OU",
doublesTier: "DUU",
},
mimikyubusted: {
requiredAbility: "Disguise",
battleOnly: true,
},
mimikyutotem: {
isNonstandard: "Past",
tier: "Illegal",
},
mimikyubustedtotem: {
requiredAbility: "Disguise",
battleOnly: true,
isNonstandard: "Past",
tier: "Illegal",
},
@ -4267,8 +4129,6 @@ let BattleFormatsData = {
doublesTier: "DUber",
},
necrozmaultra: {
requiredItem: "Ultranecrozium Z",
battleOnly: true,
isNonstandard: "Past",
tier: "Illegal",
},
@ -4317,7 +4177,6 @@ let BattleFormatsData = {
},
melmetalgmax: {
isUnreleased: true,
isGigantamax: "G-Max Meltdown",
tier: "Unreleased",
},
grookey: {
@ -4384,7 +4243,6 @@ let BattleFormatsData = {
doublesTier: "DOU",
},
corviknightgmax: {
isGigantamax: "G-Max Wind Rage",
tier: "(Uber)",
doublesTier: "DOU",
},
@ -4400,7 +4258,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
orbeetlegmax: {
isGigantamax: "G-Max Gravitas",
tier: "(Uber)",
doublesTier: "(DUU)",
},
@ -4441,7 +4298,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
drednawgmax: {
isGigantamax: "G-Max Stonesurge",
tier: "(Uber)",
doublesTier: "(DUU)",
},
@ -4467,7 +4323,6 @@ let BattleFormatsData = {
doublesTier: "DUU",
},
coalossalgmax: {
isGigantamax: "G-Max Volcalith",
tier: "(Uber)",
doublesTier: "DUU",
},
@ -4480,7 +4335,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
flapplegmax: {
isGigantamax: "G-Max Tartness",
tier: "(Uber)",
doublesTier: "(DUU)",
},
@ -4491,7 +4345,6 @@ let BattleFormatsData = {
},
appletungmax: {
randomBattleMoves: ["appleacid", "dracometeor", "leechseed", "recover"],
isGigantamax: "G-Max Sweetness",
tier: "(Uber)",
doublesTier: "(DUU)",
},
@ -4504,7 +4357,6 @@ let BattleFormatsData = {
doublesTier: "(DUU)",
},
sandacondagmax: {
isGigantamax: "G-Max Sandblast",
tier: "(Uber)",
doublesTier: "(DUU)",
},
@ -4513,14 +4365,6 @@ let BattleFormatsData = {
tier: "RU",
doublesTier: "(DUU)",
},
cramorantgulping: {
requiredAbility: "Gulp Missile",
battleOnly: true,
},
cramorantgorging: {
requiredAbility: "Gulp Missile",
battleOnly: true,
},
arrokuda: {
tier: "LC",
},
@ -4543,12 +4387,10 @@ let BattleFormatsData = {
doublesTier: "DUU",
},
toxtricitygmax: {
isGigantamax: "G-Max Stun Shock",
tier: "(Uber)",
doublesTier: "DUU",
},
toxtricitylowkeygmax: {
isGigantamax: "G-Max Stun Shock",
tier: "(Uber)",
doublesTier: "DUU",
},
@ -4561,7 +4403,6 @@ let BattleFormatsData = {
doublesTier: "DUU",
},
centiskorchgmax: {
isGigantamax: "G-Max Centiferno",
tier: "(Uber)",
doublesTier: "DUU",
},
@ -4602,7 +4443,6 @@ let BattleFormatsData = {
},
hatterenegmax: {
randomBattleMoves: ["calmmind", "darkpulse", "dazzlinggleam", "mysticalfire", "psychic", "trickroom"],
isGigantamax: "G-Max Smite",
tier: "(Uber)",
doublesTier: "DOU",
},
@ -4619,7 +4459,6 @@ let BattleFormatsData = {
},
grimmsnarlgmax: {
randomBattleMoves: ["bulkup", "darkestlariat", "playrough", "substitute", "suckerpunch", "trick"],
isGigantamax: "G-Max Snooze",
tier: "(Uber)",
doublesTier: "DOU",
},
@ -4632,7 +4471,6 @@ let BattleFormatsData = {
},
alcremiegmax: {
randomBattleMoves: ["calmmind", "dazzlinggleam", "mysticalfire", "psychic", "recover"],
isGigantamax: "G-Max Finale",
tier: "(Uber)",
doublesTier: "DUU",
},
@ -4664,10 +4502,6 @@ let BattleFormatsData = {
tier: "PU",
doublesTier: "(DUU)",
},
eiscuenoice: {
requiredAbility: "Ice Face",
battleOnly: true,
},
indeedee: {
randomBattleMoves: ["calmmind", "hypervoice", "mysticalfire", "psychic", "trick"],
tier: "RU",
@ -4683,10 +4517,6 @@ let BattleFormatsData = {
tier: "UU",
doublesTier: "(DUU)",
},
morpekohangry: {
requiredAbility: "Hunger Switch",
battleOnly: true,
},
cufant: {
tier: "LC",
},
@ -4697,7 +4527,6 @@ let BattleFormatsData = {
},
copperajahgmax: {
randomBattleMoves: ["earthquake", "heatcrash", "heavyslam", "powerwhip", "stoneedge"],
isGigantamax: "G-Max Steelsurge",
tier: "(Uber)",
doublesTier: "DUU",
},
@ -4731,7 +4560,6 @@ let BattleFormatsData = {
doublesTier: "DOU",
},
duraludongmax: {
isGigantamax: "G-Max Depletion",
tier: "(Uber)",
doublesTier: "DOU",
},
@ -4753,7 +4581,6 @@ let BattleFormatsData = {
},
zaciancrowned: {
randomBattleMoves: ["behemothblade", "closecombat", "crunch", "playrough", "psychicfangs", "swordsdance"],
requiredItem: "Rusted Sword",
tier: "Uber",
doublesTier: "DUber",
},
@ -4764,7 +4591,6 @@ let BattleFormatsData = {
},
zamazentacrowned: {
randomBattleMoves: ["behemothbash", "closecombat", "crunch", "psychicfangs"],
requiredItem: "Rusted Shield",
tier: "Uber",
doublesTier: "DUber",
},
@ -4977,7 +4803,6 @@ let BattleFormatsData = {
tier: "CAP",
},
crucibellemega: {
requiredItem: "Crucibellite",
isNonstandard: "CAP",
gen: 6,
tier: "CAP",

View File

@ -1415,15 +1415,12 @@ let BattleFormatsData = {
tier: "NU",
},
castformsunny: {
battleOnly: true,
randomBattleMoves: ["sunnyday", "thunderbolt", "icebeam", "flamethrower", "solarbeam"],
},
castformrainy: {
battleOnly: true,
randomBattleMoves: ["raindance", "thunder", "weatherball", "icebeam"],
},
castformsnowy: {
battleOnly: true,
randomBattleMoves: ["hail", "thunderbolt", "flamethrower", "blizzard"],
},
kecleon: {

View File

@ -19,7 +19,7 @@ class RandomGen3Teams extends RandomGen4Teams {
Monitor.crashlog(err, 'The gen 3 randbat set generator');
}
if (template.battleOnly) species = this.dex.getOutOfBattleSpecies(template);
if (template.battleOnly) species = /** @type {string} */ (template.battleOnly);
// @ts-ignore
let movePool = (template.randomBattleMoves || Object.keys(this.dex.data.Learnsets[template.id].learnset)).slice();

View File

@ -1514,15 +1514,9 @@ let BattleFormatsData = {
randomBattleMoves: ["icebeam", "thunderbolt", "fireblast", "energyball", "shadowball"],
tier: "NU",
},
castformsunny: {
battleOnly: true,
},
castformrainy: {
battleOnly: true,
},
castformsnowy: {
battleOnly: true,
},
castformsunny: {},
castformrainy: {},
castformsnowy: {},
kecleon: {
randomBattleMoves: ["stealthrock", "recover", "return", "aquatail", "thunderwave", "toxic"],
tier: "NU",
@ -1820,7 +1814,6 @@ let BattleFormatsData = {
},
cherrimsunshine: {
randomBattleMoves: ["sunnyday", "solarbeam", "weatherball", "hiddenpowerice"],
battleOnly: true,
},
shellos: {
tier: "LC",
@ -1997,7 +1990,6 @@ let BattleFormatsData = {
},
giratinaorigin: {
randomBattleMoves: ["dracometeor", "shadowsneak", "hiddenpowerfire", "calmmind", "substitute", "dragonpulse", "shadowball", "aurasphere", "outrage"],
requiredItem: "Griseous Orb",
tier: "Uber",
},
cresselia: {
@ -2036,67 +2028,51 @@ let BattleFormatsData = {
},
arceusbug: {
randomBattleMoves: ["calmmind", "judgment", "earthpower", "icebeam", "recover"],
requiredItem: "Insect Plate",
},
arceusdark: {
randomBattleMoves: ["calmmind", "judgment", "focusblast", "recover", "refresh"],
requiredItem: "Dread Plate",
},
arceusdragon: {
randomBattleMoves: ["calmmind", "judgment", "flamethrower", "willowisp", "refresh", "recover"],
requiredItem: "Draco Plate",
},
arceuselectric: {
randomBattleMoves: ["calmmind", "judgment", "recover", "icebeam", "earthpower"],
requiredItem: "Zap Plate",
},
arceusfighting: {
randomBattleMoves: ["calmmind", "judgment", "icebeam", "darkpulse", "recover"],
requiredItem: "Fist Plate",
},
arceusfire: {
randomBattleMoves: ["calmmind", "judgment", "earthpower", "thunderbolt", "recover"],
requiredItem: "Flame Plate",
},
arceusflying: {
randomBattleMoves: ["calmmind", "judgment", "refresh", "earthpower", "recover"],
requiredItem: "Sky Plate",
},
arceusghost: {
randomBattleMoves: ["calmmind", "judgment", "focusblast", "willowisp", "recover"],
requiredItem: "Spooky Plate",
},
arceusgrass: {
randomBattleMoves: ["calmmind", "icebeam", "judgment", "earthpower", "recover", "thunderwave"],
requiredItem: "Meadow Plate",
},
arceusground: {
randomBattleMoves: ["calmmind", "judgment", "icebeam", "thunderbolt", "recover"],
requiredItem: "Earth Plate",
},
arceusice: {
randomBattleMoves: ["calmmind", "judgment", "earthpower", "thunderbolt", "flamethrower", "recover"],
requiredItem: "Icicle Plate",
},
arceuspoison: {
randomBattleMoves: ["calmmind", "judgment", "earthpower", "willowisp", "recover"],
requiredItem: "Toxic Plate",
},
arceuspsychic: {
randomBattleMoves: ["calmmind", "focusblast", "recover", "shadowball", "judgment"],
requiredItem: "Mind Plate",
},
arceusrock: {
randomBattleMoves: ["calmmind", "judgment", "earthpower", "willowisp", "refresh", "recover"],
requiredItem: "Stone Plate",
},
arceussteel: {
randomBattleMoves: ["calmmind", "judgment", "earthpower", "willowisp", "recover"],
requiredItem: "Iron Plate",
},
arceuswater: {
randomBattleMoves: ["recover", "calmmind", "judgment", "icebeam", "thunderbolt", "willowisp", "refresh"],
requiredItem: "Splash Plate",
},
};

View File

@ -20,7 +20,7 @@ class RandomGen4Teams extends RandomGen5Teams {
Monitor.crashlog(err, 'The gen 4 randbat set generator');
}
if (template.battleOnly) species = this.dex.getOutOfBattleSpecies(template);
if (template.battleOnly) species = /** @type {string} */ (template.battleOnly);
// @ts-ignore
let movePool = (template.randomBattleMoves || Object.keys(this.dex.data.Learnsets[template.id].learnset)).slice();

View File

@ -1784,15 +1784,11 @@ let BattleFormatsData = {
},
castformsunny: {
randomBattleMoves: ["icebeam", "solarbeam", "sunnyday", "weatherball"],
battleOnly: true,
},
castformrainy: {
randomBattleMoves: ["icebeam", "raindance", "thunder", "weatherball"],
battleOnly: true,
},
castformsnowy: {
battleOnly: true,
},
castformsnowy: {},
kecleon: {
randomBattleMoves: ["foulplay", "recover", "stealthrock", "thunderwave", "toxic"],
tier: "NU",
@ -2157,7 +2153,6 @@ let BattleFormatsData = {
},
cherrimsunshine: {
randomBattleMoves: ["naturepower", "solarbeam", "sunnyday", "weatherball"],
battleOnly: true,
},
shellos: {
tier: "LC",
@ -2369,7 +2364,6 @@ let BattleFormatsData = {
},
giratinaorigin: {
randomBattleMoves: ["dracometeor", "dragontail", "earthquake", "hiddenpowerfire", "rest", "shadowsneak", "sleeptalk", "willowisp"],
requiredItem: "Griseous Orb",
tier: "Uber",
doublesTier: "DUber",
},
@ -2416,67 +2410,51 @@ let BattleFormatsData = {
},
arceusbug: {
randomBattleMoves: ["earthquake", "recover", "stoneedge", "swordsdance", "xscissor"],
requiredItem: "Insect Plate",
},
arceusdark: {
randomBattleMoves: ["calmmind", "judgment", "recover", "refresh"],
requiredItem: "Dread Plate",
},
arceusdragon: {
randomBattleMoves: ["earthquake", "extremespeed", "outrage", "recover", "swordsdance"],
requiredItem: "Draco Plate",
},
arceuselectric: {
randomBattleMoves: ["calmmind", "icebeam", "judgment", "recover", "substitute"],
requiredItem: "Zap Plate",
},
arceusfighting: {
randomBattleMoves: ["calmmind", "darkpulse", "icebeam", "judgment", "recover", "toxic"],
requiredItem: "Fist Plate",
},
arceusfire: {
randomBattleMoves: ["calmmind", "fireblast", "flamethrower", "recover", "thunderbolt"],
requiredItem: "Flame Plate",
},
arceusflying: {
randomBattleMoves: ["calmmind", "focusblast", "judgment", "recover", "substitute"],
requiredItem: "Sky Plate",
},
arceusghost: {
randomBattleMoves: ["calmmind", "focusblast", "judgment", "recover", "roar", "willowisp"],
requiredItem: "Spooky Plate",
},
arceusgrass: {
randomBattleMoves: ["calmmind", "earthpower", "icebeam", "judgment", "recover", "stealthrock", "thunderwave"],
requiredItem: "Meadow Plate",
},
arceusground: {
randomBattleMoves: ["earthquake", "recover", "stoneedge", "swordsdance", "willowisp"],
requiredItem: "Earth Plate",
},
arceusice: {
randomBattleMoves: ["calmmind", "focusblast", "icebeam", "judgment", "recover", "thunderbolt"],
requiredItem: "Icicle Plate",
},
arceuspoison: {
randomBattleMoves: ["calmmind", "focusblast", "icebeam", "recover", "sludgebomb", "stealthrock", "willowisp"],
requiredItem: "Toxic Plate",
},
arceuspsychic: {
randomBattleMoves: ["calmmind", "focusblast", "icebeam", "psyshock", "recover", "willowisp"],
requiredItem: "Mind Plate",
},
arceusrock: {
randomBattleMoves: ["earthquake", "stoneedge", "swordsdance", "recover"],
requiredItem: "Stone Plate",
},
arceussteel: {
randomBattleMoves: ["calmmind", "icebeam", "judgment", "recover", "roar", "willowisp"],
requiredItem: "Iron Plate",
},
arceuswater: {
randomBattleMoves: ["calmmind", "fireblast", "icebeam", "judgment", "recover"],
requiredItem: "Splash Plate",
},
victini: {
inherit: true,
@ -3194,8 +3172,6 @@ let BattleFormatsData = {
},
meloettapirouette: {
randomBattleMoves: ["closecombat", "hiddenpowerice", "psychic", "relicsong", "shadowball"],
requiredMove: "Relic Song",
battleOnly: true,
},
genesect: {
inherit: true,

View File

@ -23,7 +23,7 @@ class RandomGen5Teams extends RandomGen6Teams {
if (template.battleOnly) {
// Only change the species. The template has custom moves, and may have different typing and requirements.
species = this.dex.getOutOfBattleSpecies(template);
species = /** @type {string} */ (template.battleOnly);
}
// @ts-ignore

View File

@ -19,7 +19,6 @@ let BattleFormatsData = {
venusaurmega: {
randomBattleMoves: ["gigadrain", "sludgebomb", "hiddenpowerfire", "synthesis", "leechseed", "earthquake"],
randomDoubleBattleMoves: ["sleeppowder", "gigadrain", "hiddenpowerfire", "hiddenpowerice", "sludgebomb", "powerwhip", "protect"],
requiredItem: "Venusaurite",
tier: "OU",
doublesTier: "DOU",
},
@ -40,14 +39,12 @@ let BattleFormatsData = {
charizardmegax: {
randomBattleMoves: ["dragondance", "flareblitz", "dragonclaw", "earthquake", "roost", "willowisp"],
randomDoubleBattleMoves: ["dragondance", "flareblitz", "dragonclaw", "earthquake", "rockslide", "roost", "substitute"],
requiredItem: "Charizardite X",
tier: "OU",
doublesTier: "(DUU)",
},
charizardmegay: {
randomBattleMoves: ["fireblast", "airslash", "roost", "solarbeam", "focusblast", "dragonpulse"],
randomDoubleBattleMoves: ["heatwave", "fireblast", "airslash", "roost", "solarbeam", "focusblast", "protect"],
requiredItem: "Charizardite Y",
tier: "OU",
doublesTier: "DOU",
},
@ -68,7 +65,6 @@ let BattleFormatsData = {
blastoisemega: {
randomBattleMoves: ["icebeam", "hydropump", "rapidspin", "scald", "dragontail", "darkpulse", "aurasphere"],
randomDoubleBattleMoves: ["muddywater", "icebeam", "hydropump", "fakeout", "scald", "darkpulse", "aurasphere", "followme", "icywind", "protect"],
requiredItem: "Blastoisinite",
tier: "UU",
doublesTier: "DUU",
},
@ -101,7 +97,6 @@ let BattleFormatsData = {
beedrillmega: {
randomBattleMoves: ["xscissor", "swordsdance", "uturn", "poisonjab", "drillrun", "knockoff"],
randomDoubleBattleMoves: ["xscissor", "uturn", "substitute", "poisonjab", "drillrun", "knockoff", "protect"],
requiredItem: "Beedrillite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -122,7 +117,6 @@ let BattleFormatsData = {
pidgeotmega: {
randomBattleMoves: ["roost", "heatwave", "uturn", "hurricane", "defog"],
randomDoubleBattleMoves: ["tailwind", "heatwave", "uturn", "hurricane", "protect"],
requiredItem: "Pidgeotite",
tier: "UUBL",
doublesTier: "(DUU)",
},
@ -424,7 +418,6 @@ let BattleFormatsData = {
alakazammega: {
randomBattleMoves: ["calmmind", "psyshock", "focusblast", "shadowball", "encore", "substitute"],
randomDoubleBattleMoves: ["protect", "psychic", "psyshock", "focusblast", "shadowball", "encore", "substitute", "dazzlinggleam"],
requiredItem: "Alakazite",
tier: "UUBL",
doublesTier: "(DUU)",
},
@ -502,7 +495,6 @@ let BattleFormatsData = {
slowbromega: {
randomBattleMoves: ["calmmind", "scald", "psyshock", "slackoff", "fireblast", "icebeam"],
randomDoubleBattleMoves: ["scald", "fireblast", "icebeam", "psychic", "grassknot", "thunderwave", "slackoff", "trickroom", "protect", "psyshock"],
requiredItem: "Slowbronite",
tier: "(OU)",
doublesTier: "(DUU)",
},
@ -592,7 +584,6 @@ let BattleFormatsData = {
gengarmega: {
randomBattleMoves: ["shadowball", "sludgewave", "focusblast", "taunt", "destinybond", "disable", "perishsong", "protect"],
randomDoubleBattleMoves: ["shadowball", "sludgebomb", "focusblast", "substitute", "disable", "taunt", "hypnosis", "willowisp", "dazzlinggleam", "protect"],
requiredItem: "Gengarite",
tier: "Uber",
doublesTier: "DOU",
},
@ -608,7 +599,6 @@ let BattleFormatsData = {
steelixmega: {
randomBattleMoves: ["stealthrock", "earthquake", "heavyslam", "roar", "toxic", "dragontail"],
randomDoubleBattleMoves: ["stealthrock", "earthquake", "heavyslam", "rockslide", "protect", "explosion"],
requiredItem: "Steelixite",
tier: "RUBL",
doublesTier: "(DUU)",
},
@ -759,7 +749,6 @@ let BattleFormatsData = {
kangaskhanmega: {
randomBattleMoves: ["fakeout", "return", "suckerpunch", "earthquake", "poweruppunch", "crunch"],
randomDoubleBattleMoves: ["fakeout", "return", "suckerpunch", "earthquake", "doubleedge", "poweruppunch", "drainpunch", "crunch", "protect"],
requiredItem: "Kangaskhanite",
tier: "Uber",
doublesTier: "DOU",
},
@ -825,7 +814,6 @@ let BattleFormatsData = {
scizormega: {
randomBattleMoves: ["swordsdance", "roost", "bulletpunch", "bugbite", "superpower", "uturn", "defog", "knockoff"],
randomDoubleBattleMoves: ["swordsdance", "roost", "bulletpunch", "bugbite", "superpower", "uturn", "protect", "feint", "knockoff"],
requiredItem: "Scizorite",
tier: "OU",
doublesTier: "(DOU)",
},
@ -877,7 +865,6 @@ let BattleFormatsData = {
pinsirmega: {
randomBattleMoves: ["swordsdance", "earthquake", "closecombat", "quickattack", "return"],
randomDoubleBattleMoves: ["feint", "protect", "swordsdance", "earthquake", "closecombat", "substitute", "quickattack", "return", "rockslide"],
requiredItem: "Pinsirite",
tier: "OU",
doublesTier: "(DUU)",
},
@ -902,7 +889,6 @@ let BattleFormatsData = {
gyaradosmega: {
randomBattleMoves: ["dragondance", "waterfall", "earthquake", "substitute", "icefang", "crunch"],
randomDoubleBattleMoves: ["dragondance", "waterfall", "earthquake", "bounce", "taunt", "protect", "thunderwave", "stoneedge", "substitute", "icefang"],
requiredItem: "Gyaradosite",
tier: "UUBL",
doublesTier: "(DUU)",
},
@ -1017,7 +1003,6 @@ let BattleFormatsData = {
aerodactylmega: {
randomBattleMoves: ["honeclaws", "stoneedge", "aerialace", "aquatail", "earthquake", "firefang", "roost"],
randomDoubleBattleMoves: ["wideguard", "taunt", "stoneedge", "rockslide", "earthquake", "ironhead", "aerialace", "protect", "icefang", "skydrop", "tailwind"],
requiredItem: "Aerodactylite",
tier: "UU",
doublesTier: "DUU",
},
@ -1075,13 +1060,11 @@ let BattleFormatsData = {
},
mewtwomegax: {
randomBattleMoves: ["bulkup", "drainpunch", "zenheadbutt", "stoneedge", "taunt", "icebeam"],
requiredItem: "Mewtwonite X",
tier: "Uber",
doublesTier: "DUber",
},
mewtwomegay: {
randomBattleMoves: ["psystrike", "aurasphere", "shadowball", "fireblast", "icebeam", "calmmind", "recover", "willowisp", "taunt"],
requiredItem: "Mewtwonite Y",
tier: "Uber",
doublesTier: "DUber",
},
@ -1223,7 +1206,6 @@ let BattleFormatsData = {
ampharosmega: {
randomBattleMoves: ["voltswitch", "focusblast", "agility", "thunderbolt", "healbell", "dragonpulse"],
randomDoubleBattleMoves: ["focusblast", "hiddenpowerice", "hiddenpowergrass", "thunderbolt", "discharge", "dragonpulse", "protect"],
requiredItem: "Ampharosite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -1402,7 +1384,6 @@ let BattleFormatsData = {
heracrossmega: {
randomBattleMoves: ["closecombat", "pinmissile", "rockblast", "swordsdance", "bulletseed", "substitute"],
randomDoubleBattleMoves: ["closecombat", "pinmissile", "rockblast", "swordsdance", "bulletseed", "knockoff", "earthquake", "protect"],
requiredItem: "Heracronite",
tier: "OU",
doublesTier: "(DUU)",
},
@ -1507,7 +1488,6 @@ let BattleFormatsData = {
houndoommega: {
randomBattleMoves: ["nastyplot", "darkpulse", "taunt", "fireblast", "hiddenpowergrass"],
randomDoubleBattleMoves: ["nastyplot", "darkpulse", "taunt", "heatwave", "hiddenpowergrass", "protect"],
requiredItem: "Houndoominite",
tier: "RUBL",
doublesTier: "(DUU)",
},
@ -1579,7 +1559,6 @@ let BattleFormatsData = {
tyranitarmega: {
randomBattleMoves: ["crunch", "stoneedge", "earthquake", "icepunch", "dragondance"],
randomDoubleBattleMoves: ["crunch", "stoneedge", "earthquake", "icepunch", "dragondance", "rockslide", "protect"],
requiredItem: "Tyranitarite",
tier: "(OU)",
doublesTier: "(DOU)",
},
@ -1621,7 +1600,6 @@ let BattleFormatsData = {
sceptilemega: {
randomBattleMoves: ["substitute", "gigadrain", "dragonpulse", "focusblast", "swordsdance", "outrage", "leafblade", "earthquake", "hiddenpowerfire"],
randomDoubleBattleMoves: ["substitute", "gigadrain", "leafstorm", "hiddenpowerice", "focusblast", "dragonpulse", "hiddenpowerfire", "protect"],
requiredItem: "Sceptilite",
tier: "UU",
doublesTier: "DUU",
},
@ -1641,7 +1619,6 @@ let BattleFormatsData = {
},
blazikenmega: {
randomBattleMoves: ["flareblitz", "highjumpkick", "protect", "swordsdance", "stoneedge", "knockoff"],
requiredItem: "Blazikenite",
tier: "Uber",
doublesTier: "(DUU)",
},
@ -1662,7 +1639,6 @@ let BattleFormatsData = {
swampertmega: {
randomBattleMoves: ["raindance", "waterfall", "earthquake", "icepunch", "superpower"],
randomDoubleBattleMoves: ["waterfall", "earthquake", "raindance", "icepunch", "superpower", "protect"],
requiredItem: "Swampertite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -1772,7 +1748,6 @@ let BattleFormatsData = {
gardevoirmega: {
randomBattleMoves: ["calmmind", "hypervoice", "psyshock", "focusblast", "substitute", "taunt", "willowisp"],
randomDoubleBattleMoves: ["psyshock", "focusblast", "shadowball", "calmmind", "thunderbolt", "hypervoice", "protect"],
requiredItem: "Gardevoirite",
tier: "OU",
doublesTier: "DOU",
},
@ -1785,7 +1760,6 @@ let BattleFormatsData = {
gallademega: {
randomBattleMoves: ["swordsdance", "closecombat", "drainpunch", "knockoff", "zenheadbutt", "substitute"],
randomDoubleBattleMoves: ["closecombat", "stoneedge", "drainpunch", "icepunch", "zenheadbutt", "swordsdance", "knockoff", "protect"],
requiredItem: "Galladite",
tier: "UUBL",
doublesTier: "(DUU)",
},
@ -1893,7 +1867,6 @@ let BattleFormatsData = {
sableyemega: {
randomBattleMoves: ["recover", "willowisp", "darkpulse", "calmmind", "shadowball"],
randomDoubleBattleMoves: ["fakeout", "knockoff", "darkpulse", "shadowball", "willowisp", "protect"],
requiredItem: "Sablenite",
tier: "Uber",
doublesTier: "DUU",
},
@ -1907,7 +1880,6 @@ let BattleFormatsData = {
mawilemega: {
randomBattleMoves: ["swordsdance", "ironhead", "firefang", "substitute", "playrough", "suckerpunch", "knockoff", "focuspunch"],
randomDoubleBattleMoves: ["swordsdance", "ironhead", "firefang", "substitute", "playrough", "suckerpunch", "knockoff", "protect"],
requiredItem: "Mawilite",
tier: "Uber",
doublesTier: "(DUU)",
},
@ -1927,7 +1899,6 @@ let BattleFormatsData = {
aggronmega: {
randomBattleMoves: ["earthquake", "heavyslam", "rockslide", "stealthrock", "thunderwave", "roar", "toxic"],
randomDoubleBattleMoves: ["rockslide", "earthquake", "lowkick", "heavyslam", "aquatail", "protect"],
requiredItem: "Aggronite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -1944,7 +1915,6 @@ let BattleFormatsData = {
medichammega: {
randomBattleMoves: ["highjumpkick", "zenheadbutt", "thunderpunch", "icepunch", "fakeout"],
randomDoubleBattleMoves: ["highjumpkick", "drainpunch", "zenheadbutt", "icepunch", "bulletpunch", "protect", "fakeout"],
requiredItem: "Medichamite",
tier: "OU",
doublesTier: "(DUU)",
},
@ -1961,7 +1931,6 @@ let BattleFormatsData = {
manectricmega: {
randomBattleMoves: ["voltswitch", "thunderbolt", "hiddenpowerice", "hiddenpowergrass", "overheat"],
randomDoubleBattleMoves: ["voltswitch", "thunderbolt", "hiddenpowerice", "hiddenpowergrass", "overheat", "flamethrower", "snarl", "protect"],
requiredItem: "Manectite",
tier: "OU",
doublesTier: "(DUU)",
},
@ -2028,7 +1997,6 @@ let BattleFormatsData = {
},
sharpedomega: {
randomBattleMoves: ["protect", "crunch", "waterfall", "icefang", "zenheadbutt", "destinybond"],
requiredItem: "Sharpedonite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -2056,7 +2024,6 @@ let BattleFormatsData = {
cameruptmega: {
randomBattleMoves: ["stealthrock", "fireblast", "earthpower", "ancientpower", "willowisp", "toxic"],
randomDoubleBattleMoves: ["fireblast", "earthpower", "heatwave", "eruption", "rockslide", "protect"],
requiredItem: "Cameruptite",
tier: "RU",
doublesTier: "DUU",
},
@ -2122,7 +2089,6 @@ let BattleFormatsData = {
altariamega: {
randomBattleMoves: ["dragondance", "return", "hypervoice", "healbell", "earthquake", "roost", "fireblast"],
randomDoubleBattleMoves: ["dragondance", "return", "doubleedge", "dragonclaw", "earthquake", "protect", "fireblast"],
requiredItem: "Altarianite",
tier: "UUBL",
doublesTier: "DUU",
},
@ -2222,15 +2188,12 @@ let BattleFormatsData = {
},
castformsunny: {
randomBattleMoves: ["sunnyday", "weatherball", "solarbeam", "icebeam"],
battleOnly: true,
},
castformrainy: {
randomBattleMoves: ["raindance", "weatherball", "thunder", "hurricane"],
battleOnly: true,
},
castformsnowy: {
randomBattleMoves: ["hail", "blizzard", "thunderbolt", "fireblast"],
battleOnly: true,
},
kecleon: {
randomBattleMoves: ["fakeout", "knockoff", "drainpunch", "suckerpunch", "shadowsneak", "stealthrock", "recover"],
@ -2252,7 +2215,6 @@ let BattleFormatsData = {
banettemega: {
randomBattleMoves: ["destinybond", "taunt", "shadowclaw", "suckerpunch", "willowisp", "knockoff"],
randomDoubleBattleMoves: ["destinybond", "taunt", "shadowclaw", "suckerpunch", "willowisp", "knockoff", "protect"],
requiredItem: "Banettite",
tier: "RU",
doublesTier: "(DUU)",
},
@ -2296,7 +2258,6 @@ let BattleFormatsData = {
absolmega: {
randomBattleMoves: ["swordsdance", "suckerpunch", "knockoff", "fireblast", "superpower", "pursuit", "playrough", "icebeam"],
randomDoubleBattleMoves: ["swordsdance", "suckerpunch", "knockoff", "fireblast", "superpower", "protect", "playrough"],
requiredItem: "Absolite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -2313,7 +2274,6 @@ let BattleFormatsData = {
glaliemega: {
randomBattleMoves: ["freezedry", "iceshard", "earthquake", "explosion", "return", "spikes"],
randomDoubleBattleMoves: ["crunch", "iceshard", "freezedry", "earthquake", "explosion", "protect", "return"],
requiredItem: "Glalitite",
tier: "RU",
doublesTier: "(DUU)",
},
@ -2380,7 +2340,6 @@ let BattleFormatsData = {
salamencemega: {
randomBattleMoves: ["doubleedge", "return", "fireblast", "earthquake", "dracometeor", "roost", "dragondance"],
randomDoubleBattleMoves: ["doubleedge", "return", "fireblast", "earthquake", "dracometeor", "protect", "dragondance", "dragonclaw"],
requiredItem: "Salamencite",
tier: "Uber",
doublesTier: "DUber",
},
@ -2403,7 +2362,6 @@ let BattleFormatsData = {
metagrossmega: {
randomBattleMoves: ["meteormash", "earthquake", "agility", "zenheadbutt", "hammerarm", "icepunch"],
randomDoubleBattleMoves: ["meteormash", "earthquake", "protect", "zenheadbutt", "thunderpunch", "icepunch"],
requiredItem: "Metagrossite",
tier: "OU",
doublesTier: "DUU",
},
@ -2438,7 +2396,6 @@ let BattleFormatsData = {
latiasmega: {
randomBattleMoves: ["calmmind", "dragonpulse", "surf", "dracometeor", "roost", "hiddenpowerfire", "substitute", "psyshock"],
randomDoubleBattleMoves: ["dragonpulse", "psychic", "tailwind", "helpinghand", "healpulse", "lightscreen", "reflect", "protect"],
requiredItem: "Latiasite",
tier: "(OU)",
doublesTier: "(DUU)",
},
@ -2452,7 +2409,6 @@ let BattleFormatsData = {
latiosmega: {
randomBattleMoves: ["calmmind", "dracometeor", "hiddenpowerfire", "psyshock", "roost", "defog"],
randomDoubleBattleMoves: ["dracometeor", "dragonpulse", "surf", "thunderbolt", "psyshock", "substitute", "tailwind", "protect", "hiddenpowerfire"],
requiredItem: "Latiosite",
tier: "(OU)",
doublesTier: "(DOU)",
},
@ -2466,7 +2422,6 @@ let BattleFormatsData = {
kyogreprimal: {
randomBattleMoves: ["calmmind", "originpulse", "scald", "thunder", "icebeam", "toxic", "rest", "sleeptalk"],
randomDoubleBattleMoves: ["waterspout", "originpulse", "muddywater", "thunder", "icebeam", "calmmind", "rest", "sleeptalk", "protect"],
requiredItem: "Blue Orb",
},
groudon: {
inherit: true,
@ -2478,7 +2433,6 @@ let BattleFormatsData = {
groudonprimal: {
randomBattleMoves: ["stealthrock", "precipiceblades", "lavaplume", "stoneedge", "dragontail", "rockpolish", "swordsdance", "firepunch"],
randomDoubleBattleMoves: ["precipiceblades", "lavaplume", "rockslide", "stoneedge", "swordsdance", "overheat", "rockpolish", "firepunch", "protect"],
requiredItem: "Red Orb",
},
rayquaza: {
inherit: true,
@ -2490,7 +2444,6 @@ let BattleFormatsData = {
rayquazamega: {
// randomBattleMoves: ["vcreate", "extremespeed", "swordsdance", "earthquake", "dragonascent", "dragonclaw", "dragondance"],
randomDoubleBattleMoves: ["vcreate", "extremespeed", "swordsdance", "earthquake", "dragonascent", "dragonclaw", "dragondance", "protect"],
requiredMove: "Dragon Ascent",
tier: "AG",
doublesTier: "DUber",
},
@ -2698,7 +2651,6 @@ let BattleFormatsData = {
cherrimsunshine: {
randomBattleMoves: ["sunnyday", "solarbeam", "gigadrain", "weatherball", "hiddenpowerice"],
randomDoubleBattleMoves: ["sunnyday", "solarbeam", "gigadrain", "weatherball", "protect"],
battleOnly: true,
},
shellos: {
tier: "LC",
@ -2730,7 +2682,6 @@ let BattleFormatsData = {
lopunnymega: {
randomBattleMoves: ["return", "highjumpkick", "substitute", "fakeout", "icepunch"],
randomDoubleBattleMoves: ["return", "highjumpkick", "protect", "fakeout", "icepunch", "encore"],
requiredItem: "Lopunnite",
tier: "OU",
doublesTier: "(DUU)",
},
@ -2792,7 +2743,6 @@ let BattleFormatsData = {
garchompmega: {
randomBattleMoves: ["outrage", "dracometeor", "earthquake", "stoneedge", "fireblast", "swordsdance"],
randomDoubleBattleMoves: ["substitute", "dragonclaw", "earthquake", "stoneedge", "rockslide", "swordsdance", "protect", "fireblast"],
requiredItem: "Garchompite",
tier: "(OU)",
doublesTier: "(DOU)",
},
@ -2810,7 +2760,6 @@ let BattleFormatsData = {
lucariomega: {
randomBattleMoves: ["swordsdance", "closecombat", "crunch", "icepunch", "bulletpunch", "nastyplot", "aurasphere", "darkpulse", "flashcannon"],
randomDoubleBattleMoves: ["followme", "closecombat", "crunch", "extremespeed", "icepunch", "bulletpunch", "aurasphere", "darkpulse", "vacuumwave", "flashcannon", "protect"],
requiredItem: "Lucarionite",
tier: "Uber",
doublesTier: "(DUU)",
},
@ -2869,7 +2818,6 @@ let BattleFormatsData = {
abomasnowmega: {
randomBattleMoves: ["blizzard", "gigadrain", "woodhammer", "earthquake", "iceshard", "hiddenpowerfire"],
randomDoubleBattleMoves: ["blizzard", "iceshard", "gigadrain", "protect", "focusblast", "woodhammer", "earthquake"],
requiredItem: "Abomasite",
tier: "RUBL",
doublesTier: "DUU",
},
@ -2969,7 +2917,6 @@ let BattleFormatsData = {
giratinaorigin: {
randomBattleMoves: ["dracometeor", "shadowsneak", "dragontail", "willowisp", "defog", "toxic", "shadowball", "earthquake"],
randomDoubleBattleMoves: ["dracometeor", "shadowsneak", "tailwind", "hiddenpowerfire", "willowisp", "calmmind", "substitute", "dragonpulse", "shadowball", "aurasphere", "protect", "earthquake"],
requiredItem: "Griseous Orb",
tier: "Uber",
doublesTier: "DUber",
},
@ -3024,88 +2971,71 @@ let BattleFormatsData = {
arceusbug: {
randomBattleMoves: ["swordsdance", "xscissor", "stoneedge", "recover", "earthquake", "ironhead"],
randomDoubleBattleMoves: ["swordsdance", "xscissor", "stoneedge", "recover", "earthquake", "ironhead", "protect"],
requiredItem: "Insect Plate",
},
arceusdark: {
randomBattleMoves: ["calmmind", "judgment", "recover", "fireblast", "toxic"],
randomDoubleBattleMoves: ["calmmind", "judgment", "recover", "focusblast", "safeguard", "snarl", "willowisp", "protect"],
requiredItem: "Dread Plate",
},
arceusdragon: {
randomBattleMoves: ["swordsdance", "outrage", "extremespeed", "earthquake", "recover", "judgment", "fireblast", "willowisp", "defog"],
randomDoubleBattleMoves: ["swordsdance", "dragonclaw", "extremespeed", "earthquake", "recover", "protect"],
requiredItem: "Draco Plate",
},
arceuselectric: {
randomBattleMoves: ["calmmind", "judgment", "recover", "icebeam", "earthpower"],
randomDoubleBattleMoves: ["calmmind", "judgment", "recover", "icebeam", "protect"],
requiredItem: "Zap Plate",
},
arceusfairy: {
randomBattleMoves: ["calmmind", "judgment", "recover", "willowisp", "defog", "toxic", "earthpower"],
randomDoubleBattleMoves: ["calmmind", "judgment", "recover", "willowisp", "protect", "earthpower", "thunderbolt"],
requiredItem: "Pixie Plate",
gen: 6,
},
arceusfighting: {
randomBattleMoves: ["calmmind", "judgment", "stoneedge", "shadowball", "recover", "roar", "icebeam"],
randomDoubleBattleMoves: ["calmmind", "judgment", "icebeam", "shadowball", "recover", "willowisp", "protect"],
requiredItem: "Fist Plate",
},
arceusfire: {
randomBattleMoves: ["calmmind", "fireblast", "roar", "thunderbolt", "icebeam", "recover"],
randomDoubleBattleMoves: ["calmmind", "judgment", "thunderbolt", "recover", "heatwave", "protect", "willowisp"],
requiredItem: "Flame Plate",
},
arceusflying: {
randomBattleMoves: ["calmmind", "judgment", "earthpower", "fireblast", "toxic", "recover"],
randomDoubleBattleMoves: ["calmmind", "judgment", "safeguard", "recover", "substitute", "tailwind", "protect"],
requiredItem: "Sky Plate",
},
arceusghost: {
randomBattleMoves: ["swordsdance", "shadowforce", "shadowclaw", "brickbreak", "extremespeed", "recover", "judgment", "toxic", "defog"],
randomDoubleBattleMoves: ["calmmind", "judgment", "focusblast", "recover", "swordsdance", "shadowforce", "brickbreak", "willowisp", "protect"],
requiredItem: "Spooky Plate",
},
arceusgrass: {
randomBattleMoves: ["judgment", "recover", "calmmind", "icebeam", "fireblast"],
randomDoubleBattleMoves: ["calmmind", "icebeam", "judgment", "earthpower", "recover", "safeguard", "thunderwave", "protect"],
requiredItem: "Meadow Plate",
},
arceusground: {
randomBattleMoves: ["swordsdance", "earthquake", "stoneedge", "recover", "judgment", "icebeam", "toxic", "stealthrock"],
randomDoubleBattleMoves: ["swordsdance", "earthquake", "stoneedge", "recover", "calmmind", "judgment", "icebeam", "rockslide", "protect"],
requiredItem: "Earth Plate",
},
arceusice: {
randomBattleMoves: ["calmmind", "judgment", "thunderbolt", "fireblast", "recover"],
randomDoubleBattleMoves: ["calmmind", "judgment", "thunderbolt", "focusblast", "recover", "protect", "icywind"],
requiredItem: "Icicle Plate",
},
arceuspoison: {
randomBattleMoves: ["calmmind", "sludgebomb", "fireblast", "recover", "icebeam", "defog"],
randomDoubleBattleMoves: ["calmmind", "judgment", "sludgebomb", "heatwave", "recover", "willowisp", "protect", "earthpower"],
requiredItem: "Toxic Plate",
},
arceuspsychic: {
randomBattleMoves: ["judgment", "calmmind", "fireblast", "recover", "icebeam", "toxic"],
randomDoubleBattleMoves: ["calmmind", "psyshock", "focusblast", "recover", "willowisp", "judgment", "protect"],
requiredItem: "Mind Plate",
},
arceusrock: {
randomBattleMoves: ["swordsdance", "earthquake", "stoneedge", "recover", "judgment", "willowisp", "stealthrock"],
randomDoubleBattleMoves: ["swordsdance", "stoneedge", "recover", "rockslide", "earthquake", "protect"],
requiredItem: "Stone Plate",
},
arceussteel: {
randomBattleMoves: ["judgment", "recover", "willowisp", "defog", "roar", "swordsdance", "ironhead", "earthquake", "stoneedge"],
randomDoubleBattleMoves: ["calmmind", "judgment", "recover", "protect", "willowisp"],
requiredItem: "Iron Plate",
},
arceuswater: {
randomBattleMoves: ["recover", "calmmind", "judgment", "icebeam", "toxic", "defog"],
randomDoubleBattleMoves: ["recover", "calmmind", "judgment", "icebeam", "fireblast", "icywind", "surf", "protect"],
requiredItem: "Splash Plate",
},
victini: {
inherit: true,
@ -3288,7 +3218,6 @@ let BattleFormatsData = {
audinomega: {
randomBattleMoves: ["wish", "calmmind", "healbell", "dazzlinggleam", "fireblast", "protect"],
randomDoubleBattleMoves: ["healpulse", "protect", "healbell", "trickroom", "thunderwave", "hypervoice", "helpinghand", "dazzlinggleam"],
requiredItem: "Audinite",
tier: "NU",
doublesTier: "(DUU)",
},
@ -3915,8 +3844,6 @@ let BattleFormatsData = {
meloettapirouette: {
randomBattleMoves: ["relicsong", "closecombat", "knockoff", "return"],
randomDoubleBattleMoves: ["relicsong", "closecombat", "knockoff", "return", "protect"],
requiredMove: "Relic Song",
battleOnly: true,
},
genesect: {
inherit: true,
@ -3925,18 +3852,6 @@ let BattleFormatsData = {
tier: "Uber",
doublesTier: "DUU",
},
genesectburn: {
requiredItem: "Burn Drive",
},
genesectchill: {
requiredItem: "Chill Drive",
},
genesectdouse: {
requiredItem: "Douse Drive",
},
genesectshock: {
requiredItem: "Shock Drive",
},
chespin: {
tier: "LC",
},
@ -4318,7 +4233,6 @@ let BattleFormatsData = {
dianciemega: {
randomBattleMoves: ["calmmind", "moonblast", "earthpower", "hiddenpowerfire", "diamondstorm"],
randomDoubleBattleMoves: ["diamondstorm", "moonblast", "calmmind", "psyshock", "earthpower", "hiddenpowerfire", "dazzlinggleam", "protect"],
requiredItem: "Diancite",
tier: "OU",
doublesTier: "DOU",
},

View File

@ -34,7 +34,7 @@ class RandomGen6Teams extends RandomGen7Teams {
if (template.battleOnly) {
// Only change the species. The template has custom moves, and may have different typing and requirements.
species = this.dex.getOutOfBattleSpecies(template);
species = /** @type {string} */ (template.battleOnly);
}
let battleForme = this.checkBattleForme(template);
if (battleForme && battleForme.randomBattleMoves && template.otherFormes && (battleForme.isMega ? !teamDetails.megaStone : this.random(2))) {

View File

@ -19,7 +19,6 @@ let BattleFormatsData = {
venusaurmega: {
randomBattleMoves: ["gigadrain", "sludgebomb", "hiddenpowerfire", "synthesis", "leechseed", "earthquake"],
randomDoubleBattleMoves: ["sleeppowder", "gigadrain", "hiddenpowerfire", "hiddenpowerice", "sludgebomb", "powerwhip", "protect"],
requiredItem: "Venusaurite",
tier: "UUBL",
doublesTier: "DUU",
},
@ -40,14 +39,12 @@ let BattleFormatsData = {
charizardmegax: {
randomBattleMoves: ["dragondance", "flareblitz", "dragonclaw", "earthquake", "roost", "willowisp"],
randomDoubleBattleMoves: ["dragondance", "flareblitz", "dragonclaw", "earthquake", "rockslide", "roost", "substitute"],
requiredItem: "Charizardite X",
tier: "OU",
doublesTier: "(DUU)",
},
charizardmegay: {
randomBattleMoves: ["fireblast", "airslash", "roost", "solarbeam", "focusblast", "dragonpulse"],
randomDoubleBattleMoves: ["heatwave", "fireblast", "airslash", "roost", "solarbeam", "focusblast", "protect"],
requiredItem: "Charizardite Y",
tier: "OU",
doublesTier: "DOU",
},
@ -68,7 +65,6 @@ let BattleFormatsData = {
blastoisemega: {
randomBattleMoves: ["icebeam", "hydropump", "rapidspin", "scald", "dragontail", "darkpulse", "aurasphere"],
randomDoubleBattleMoves: ["muddywater", "icebeam", "hydropump", "fakeout", "scald", "darkpulse", "aurasphere", "followme", "icywind", "protect"],
requiredItem: "Blastoisinite",
tier: "RU",
doublesTier: "(DUU)",
},
@ -108,7 +104,6 @@ let BattleFormatsData = {
beedrillmega: {
randomBattleMoves: ["xscissor", "swordsdance", "uturn", "poisonjab", "drillrun", "knockoff"],
randomDoubleBattleMoves: ["xscissor", "uturn", "substitute", "poisonjab", "drillrun", "knockoff", "protect"],
requiredItem: "Beedrillite",
tier: "UU",
doublesTier: "DUU",
},
@ -133,7 +128,6 @@ let BattleFormatsData = {
pidgeotmega: {
randomBattleMoves: ["roost", "heatwave", "uturn", "hurricane", "defog"],
randomDoubleBattleMoves: ["tailwind", "heatwave", "uturn", "hurricane", "protect"],
requiredItem: "Pidgeotite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -552,7 +546,6 @@ let BattleFormatsData = {
alakazammega: {
randomBattleMoves: ["calmmind", "psyshock", "focusblast", "shadowball", "encore", "substitute"],
randomDoubleBattleMoves: ["protect", "psychic", "psyshock", "focusblast", "shadowball", "encore", "substitute", "dazzlinggleam"],
requiredItem: "Alakazite",
tier: "OU",
doublesTier: "(DUU)",
},
@ -656,7 +649,6 @@ let BattleFormatsData = {
slowbromega: {
randomBattleMoves: ["calmmind", "scald", "psyshock", "slackoff", "fireblast", "icebeam"],
randomDoubleBattleMoves: ["scald", "fireblast", "icebeam", "psychic", "thunderwave", "slackoff", "trickroom", "protect", "psyshock"],
requiredItem: "Slowbronite",
tier: "RUBL",
doublesTier: "(DUU)",
},
@ -771,7 +763,6 @@ let BattleFormatsData = {
gengarmega: {
randomBattleMoves: ["shadowball", "sludgewave", "focusblast", "taunt", "destinybond", "disable", "perishsong", "protect"],
randomDoubleBattleMoves: ["shadowball", "sludgebomb", "focusblast", "substitute", "disable", "taunt", "hypnosis", "willowisp", "dazzlinggleam", "protect"],
requiredItem: "Gengarite",
tier: "Uber",
doublesTier: "DUber",
},
@ -788,7 +779,6 @@ let BattleFormatsData = {
steelixmega: {
randomBattleMoves: ["stealthrock", "earthquake", "heavyslam", "roar", "toxic", "dragontail"],
randomDoubleBattleMoves: ["stealthrock", "earthquake", "heavyslam", "rockslide", "protect", "explosion"],
requiredItem: "Steelixite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -981,7 +971,6 @@ let BattleFormatsData = {
kangaskhanmega: {
randomBattleMoves: ["fakeout", "seismictoss", "bodyslam", "suckerpunch", "crunch"],
randomDoubleBattleMoves: ["fakeout", "return", "suckerpunch", "earthquake", "doubleedge", "poweruppunch", "drainpunch", "crunch", "protect"],
requiredItem: "Kangaskhanite",
tier: "Uber",
doublesTier: "DUber",
},
@ -1056,7 +1045,6 @@ let BattleFormatsData = {
scizormega: {
randomBattleMoves: ["swordsdance", "roost", "bulletpunch", "bugbite", "superpower", "uturn", "defog", "knockoff"],
randomDoubleBattleMoves: ["swordsdance", "roost", "bulletpunch", "bugbite", "superpower", "uturn", "protect", "feint", "knockoff"],
requiredItem: "Scizorite",
tier: "OU",
doublesTier: "DUU",
},
@ -1116,7 +1104,6 @@ let BattleFormatsData = {
pinsirmega: {
randomBattleMoves: ["swordsdance", "earthquake", "closecombat", "quickattack", "return"],
randomDoubleBattleMoves: ["feint", "protect", "swordsdance", "earthquake", "closecombat", "substitute", "quickattack", "return", "rockslide"],
requiredItem: "Pinsirite",
tier: "UUBL",
doublesTier: "(DUU)",
},
@ -1142,7 +1129,6 @@ let BattleFormatsData = {
gyaradosmega: {
randomBattleMoves: ["dragondance", "waterfall", "earthquake", "substitute", "icefang", "crunch"],
randomDoubleBattleMoves: ["dragondance", "waterfall", "earthquake", "bounce", "taunt", "protect", "thunderwave", "stoneedge", "substitute", "icefang", "crunch"],
requiredItem: "Gyaradosite",
tier: "OU",
doublesTier: "DUU",
},
@ -1265,7 +1251,6 @@ let BattleFormatsData = {
aerodactylmega: {
randomBattleMoves: ["honeclaws", "stoneedge", "aerialace", "aquatail", "earthquake", "firefang", "roost"],
randomDoubleBattleMoves: ["wideguard", "taunt", "stoneedge", "rockslide", "earthquake", "ironhead", "aerialace", "protect", "icefang", "skydrop", "tailwind"],
requiredItem: "Aerodactylite",
tier: "UU",
doublesTier: "DUU",
},
@ -1332,14 +1317,12 @@ let BattleFormatsData = {
mewtwomegax: {
randomBattleMoves: ["bulkup", "drainpunch", "zenheadbutt", "stoneedge", "taunt", "icebeam"],
randomDoubleBattleMoves: ["bulkup", "drainpunch", "earthquake", "taunt", "stoneedge", "zenheadbutt", "icebeam"],
requiredItem: "Mewtwonite X",
tier: "Uber",
doublesTier: "DUber",
},
mewtwomegay: {
randomBattleMoves: ["psystrike", "aurasphere", "shadowball", "fireblast", "icebeam", "calmmind", "recover", "willowisp", "taunt"],
randomDoubleBattleMoves: ["psystrike", "aurasphere", "shadowball", "fireblast", "icebeam", "calmmind", "recover", "willowisp", "taunt"],
requiredItem: "Mewtwonite Y",
tier: "Uber",
doublesTier: "DUber",
},
@ -1502,7 +1485,6 @@ let BattleFormatsData = {
ampharosmega: {
randomBattleMoves: ["voltswitch", "focusblast", "agility", "thunderbolt", "healbell", "dragonpulse"],
randomDoubleBattleMoves: ["focusblast", "hiddenpowerice", "hiddenpowergrass", "thunderbolt", "discharge", "dragonpulse", "protect"],
requiredItem: "Ampharosite",
tier: "RU",
doublesTier: "DUU",
},
@ -1704,7 +1686,6 @@ let BattleFormatsData = {
heracrossmega: {
randomBattleMoves: ["closecombat", "pinmissile", "rockblast", "swordsdance", "bulletseed", "substitute"],
randomDoubleBattleMoves: ["closecombat", "pinmissile", "rockblast", "swordsdance", "bulletseed", "knockoff", "earthquake", "protect"],
requiredItem: "Heracronite",
tier: "UUBL",
doublesTier: "(DUU)",
},
@ -1816,7 +1797,6 @@ let BattleFormatsData = {
houndoommega: {
randomBattleMoves: ["nastyplot", "darkpulse", "taunt", "fireblast", "hiddenpowergrass"],
randomDoubleBattleMoves: ["nastyplot", "darkpulse", "taunt", "heatwave", "hiddenpowergrass", "protect"],
requiredItem: "Houndoominite",
tier: "RUBL",
doublesTier: "(DUU)",
},
@ -1901,7 +1881,6 @@ let BattleFormatsData = {
tyranitarmega: {
randomBattleMoves: ["crunch", "stoneedge", "earthquake", "icepunch", "dragondance"],
randomDoubleBattleMoves: ["crunch", "stoneedge", "earthquake", "icepunch", "dragondance", "rockslide", "protect"],
requiredItem: "Tyranitarite",
tier: "OU",
doublesTier: "DOU",
},
@ -1947,7 +1926,6 @@ let BattleFormatsData = {
sceptilemega: {
randomBattleMoves: ["substitute", "gigadrain", "dragonpulse", "focusblast", "swordsdance", "outrage", "leafblade", "earthquake", "hiddenpowerfire"],
randomDoubleBattleMoves: ["substitute", "gigadrain", "leafstorm", "hiddenpowerice", "focusblast", "dragonpulse", "hiddenpowerfire", "protect"],
requiredItem: "Sceptilite",
tier: "RU",
doublesTier: "DUU",
},
@ -1968,7 +1946,6 @@ let BattleFormatsData = {
},
blazikenmega: {
randomBattleMoves: ["flareblitz", "highjumpkick", "protect", "swordsdance", "stoneedge", "knockoff"],
requiredItem: "Blazikenite",
tier: "Uber",
doublesTier: "DUU",
},
@ -1991,7 +1968,6 @@ let BattleFormatsData = {
swampertmega: {
randomBattleMoves: ["raindance", "waterfall", "earthquake", "icepunch", "superpower"],
randomDoubleBattleMoves: ["waterfall", "earthquake", "raindance", "icepunch", "superpower", "protect"],
requiredItem: "Swampertite",
tier: "OU",
doublesTier: "DOU",
},
@ -2117,7 +2093,6 @@ let BattleFormatsData = {
gardevoirmega: {
randomBattleMoves: ["calmmind", "hypervoice", "psyshock", "focusblast", "substitute", "taunt", "willowisp"],
randomDoubleBattleMoves: ["psyshock", "focusblast", "shadowball", "calmmind", "thunderbolt", "hypervoice", "protect"],
requiredItem: "Gardevoirite",
tier: "UUBL",
doublesTier: "DOU",
},
@ -2130,7 +2105,6 @@ let BattleFormatsData = {
gallademega: {
randomBattleMoves: ["swordsdance", "closecombat", "drainpunch", "knockoff", "zenheadbutt", "substitute"],
randomDoubleBattleMoves: ["closecombat", "stoneedge", "drainpunch", "icepunch", "zenheadbutt", "swordsdance", "knockoff", "protect"],
requiredItem: "Galladite",
tier: "UUBL",
doublesTier: "(DUU)",
},
@ -2253,7 +2227,6 @@ let BattleFormatsData = {
sableyemega: {
randomBattleMoves: ["recover", "willowisp", "darkpulse", "calmmind", "shadowball"],
randomDoubleBattleMoves: ["fakeout", "knockoff", "darkpulse", "shadowball", "willowisp", "protect"],
requiredItem: "Sablenite",
tier: "OU",
doublesTier: "DUU",
},
@ -2267,7 +2240,6 @@ let BattleFormatsData = {
mawilemega: {
randomBattleMoves: ["swordsdance", "ironhead", "firefang", "substitute", "playrough", "suckerpunch", "knockoff", "focuspunch"],
randomDoubleBattleMoves: ["swordsdance", "ironhead", "firefang", "substitute", "playrough", "suckerpunch", "knockoff", "protect"],
requiredItem: "Mawilite",
tier: "OU",
doublesTier: "DUU",
},
@ -2288,7 +2260,6 @@ let BattleFormatsData = {
aggronmega: {
randomBattleMoves: ["earthquake", "heavyslam", "rockslide", "stealthrock", "thunderwave", "roar", "toxic"],
randomDoubleBattleMoves: ["rockslide", "earthquake", "lowkick", "heavyslam", "aquatail", "protect"],
requiredItem: "Aggronite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -2308,7 +2279,6 @@ let BattleFormatsData = {
medichammega: {
randomBattleMoves: ["highjumpkick", "zenheadbutt", "thunderpunch", "icepunch", "fakeout"],
randomDoubleBattleMoves: ["highjumpkick", "drainpunch", "zenheadbutt", "icepunch", "bulletpunch", "protect", "fakeout"],
requiredItem: "Medichamite",
tier: "OU",
doublesTier: "(DUU)",
},
@ -2325,7 +2295,6 @@ let BattleFormatsData = {
manectricmega: {
randomBattleMoves: ["voltswitch", "thunderbolt", "hiddenpowerice", "hiddenpowergrass", "overheat"],
randomDoubleBattleMoves: ["voltswitch", "thunderbolt", "hiddenpowerice", "hiddenpowergrass", "overheat", "flamethrower", "snarl", "protect"],
requiredItem: "Manectite",
tier: "UU",
doublesTier: "DOU",
},
@ -2399,7 +2368,6 @@ let BattleFormatsData = {
sharpedomega: {
randomBattleMoves: ["protect", "crunch", "waterfall", "icefang", "psychicfangs", "destinybond"],
randomDoubleBattleMoves: ["protect", "icefang", "crunch", "liquidation", "psychicfangs"],
requiredItem: "Sharpedonite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -2429,7 +2397,6 @@ let BattleFormatsData = {
cameruptmega: {
randomBattleMoves: ["stealthrock", "fireblast", "earthpower", "ancientpower", "willowisp", "toxic"],
randomDoubleBattleMoves: ["fireblast", "earthpower", "heatwave", "eruption", "rockslide", "protect"],
requiredItem: "Cameruptite",
tier: "NUBL",
doublesTier: "DOU",
},
@ -2503,7 +2470,6 @@ let BattleFormatsData = {
altariamega: {
randomBattleMoves: ["dragondance", "return", "hypervoice", "healbell", "earthquake", "roost", "fireblast"],
randomDoubleBattleMoves: ["dragondance", "return", "doubleedge", "dragonclaw", "earthquake", "protect", "fireblast"],
requiredItem: "Altarianite",
tier: "UU",
doublesTier: "(DUU)",
},
@ -2607,18 +2573,12 @@ let BattleFormatsData = {
},
castformsunny: {
randomBattleMoves: ["sunnyday", "fireblast", "solarbeam", "icebeam"],
requiredAbility: 'Forecast',
battleOnly: true,
},
castformrainy: {
randomBattleMoves: ["raindance", "hydropump", "thunder", "hurricane"],
requiredAbility: 'Forecast',
battleOnly: true,
},
castformsnowy: {
randomBattleMoves: ["hail", "blizzard", "thunderbolt", "fireblast"],
requiredAbility: 'Forecast',
battleOnly: true,
},
kecleon: {
randomBattleMoves: ["fakeout", "knockoff", "drainpunch", "suckerpunch", "shadowsneak", "stealthrock", "recover"],
@ -2642,7 +2602,6 @@ let BattleFormatsData = {
banettemega: {
randomBattleMoves: ["destinybond", "taunt", "shadowclaw", "suckerpunch", "willowisp", "knockoff"],
randomDoubleBattleMoves: ["destinybond", "taunt", "shadowclaw", "suckerpunch", "willowisp", "knockoff", "protect"],
requiredItem: "Banettite",
tier: "RU",
doublesTier: "(DUU)",
},
@ -2690,7 +2649,6 @@ let BattleFormatsData = {
absolmega: {
randomBattleMoves: ["swordsdance", "suckerpunch", "knockoff", "fireblast", "superpower", "pursuit", "playrough", "icebeam"],
randomDoubleBattleMoves: ["swordsdance", "suckerpunch", "knockoff", "fireblast", "superpower", "protect", "playrough"],
requiredItem: "Absolite",
tier: "RUBL",
doublesTier: "(DUU)",
},
@ -2707,7 +2665,6 @@ let BattleFormatsData = {
glaliemega: {
randomBattleMoves: ["freezedry", "iceshard", "earthquake", "explosion", "return", "spikes"],
randomDoubleBattleMoves: ["crunch", "iceshard", "freezedry", "earthquake", "explosion", "protect", "return"],
requiredItem: "Glalitite",
tier: "NU",
doublesTier: "(DUU)",
},
@ -2783,7 +2740,6 @@ let BattleFormatsData = {
salamencemega: {
randomBattleMoves: ["doubleedge", "return", "fireblast", "earthquake", "dracometeor", "roost", "dragondance"],
randomDoubleBattleMoves: ["doubleedge", "return", "fireblast", "earthquake", "dracometeor", "protect", "dragondance", "dragonclaw"],
requiredItem: "Salamencite",
tier: "Uber",
doublesTier: "DOU",
},
@ -2808,7 +2764,6 @@ let BattleFormatsData = {
metagrossmega: {
randomBattleMoves: ["meteormash", "earthquake", "agility", "zenheadbutt", "hammerarm", "icepunch"],
randomDoubleBattleMoves: ["meteormash", "earthquake", "protect", "zenheadbutt", "thunderpunch", "icepunch"],
requiredItem: "Metagrossite",
tier: "Uber",
doublesTier: "DOU",
},
@ -2847,7 +2802,6 @@ let BattleFormatsData = {
latiasmega: {
randomBattleMoves: ["calmmind", "dragonpulse", "surf", "dracometeor", "roost", "hiddenpowerfire", "substitute", "psyshock"],
randomDoubleBattleMoves: ["dragonpulse", "psychic", "tailwind", "helpinghand", "healpulse", "lightscreen", "reflect", "protect"],
requiredItem: "Latiasite",
tier: "OU",
doublesTier: "(DUU)",
},
@ -2862,7 +2816,6 @@ let BattleFormatsData = {
latiosmega: {
randomBattleMoves: ["calmmind", "dracometeor", "hiddenpowerfire", "psyshock", "roost", "defog"],
randomDoubleBattleMoves: ["dracometeor", "dragonpulse", "surf", "thunderbolt", "psyshock", "substitute", "tailwind", "protect", "hiddenpowerfire"],
requiredItem: "Latiosite",
tier: "UUBL",
doublesTier: "(DUU)",
},
@ -2877,7 +2830,6 @@ let BattleFormatsData = {
kyogreprimal: {
randomBattleMoves: ["calmmind", "originpulse", "scald", "thunder", "icebeam", "toxic", "rest", "sleeptalk"],
randomDoubleBattleMoves: ["waterspout", "originpulse", "muddywater", "thunder", "icebeam", "calmmind", "rest", "sleeptalk", "protect"],
requiredItem: "Blue Orb",
},
groudon: {
inherit: true,
@ -2890,7 +2842,6 @@ let BattleFormatsData = {
groudonprimal: {
randomBattleMoves: ["stealthrock", "precipiceblades", "lavaplume", "stoneedge", "dragontail", "rockpolish", "swordsdance", "firepunch"],
randomDoubleBattleMoves: ["precipiceblades", "lavaplume", "rockslide", "stoneedge", "swordsdance", "overheat", "rockpolish", "firepunch", "protect"],
requiredItem: "Red Orb",
},
rayquaza: {
inherit: true,
@ -2903,7 +2854,6 @@ let BattleFormatsData = {
rayquazamega: {
// randomBattleMoves: ["vcreate", "extremespeed", "swordsdance", "earthquake", "dragonascent", "dragonclaw", "dragondance"],
randomDoubleBattleMoves: ["vcreate", "extremespeed", "swordsdance", "earthquake", "dragonascent", "dragonclaw", "dragondance", "protect"],
requiredMove: "Dragon Ascent",
isNonstandard: null,
tier: "AG",
doublesTier: "DUber",
@ -3126,8 +3076,6 @@ let BattleFormatsData = {
cherrimsunshine: {
randomBattleMoves: ["sunnyday", "solarbeam", "gigadrain", "weatherball", "hiddenpowerice"],
randomDoubleBattleMoves: ["sunnyday", "solarbeam", "gigadrain", "weatherball", "protect"],
requiredAbility: 'Flower Gift',
battleOnly: true,
},
shellos: {
tier: "LC",
@ -3162,7 +3110,6 @@ let BattleFormatsData = {
lopunnymega: {
randomBattleMoves: ["return", "highjumpkick", "substitute", "fakeout", "icepunch"],
randomDoubleBattleMoves: ["return", "highjumpkick", "protect", "fakeout", "icepunch", "encore"],
requiredItem: "Lopunnite",
tier: "OU",
doublesTier: "DUU",
},
@ -3231,7 +3178,6 @@ let BattleFormatsData = {
garchompmega: {
randomBattleMoves: ["outrage", "dracometeor", "earthquake", "stoneedge", "fireblast", "swordsdance"],
randomDoubleBattleMoves: ["substitute", "dragonclaw", "earthquake", "stoneedge", "rockslide", "swordsdance", "protect", "fireblast"],
requiredItem: "Garchompite",
tier: "(OU)",
doublesTier: "(DOU)",
},
@ -3249,7 +3195,6 @@ let BattleFormatsData = {
lucariomega: {
randomBattleMoves: ["swordsdance", "closecombat", "crunch", "icepunch", "bulletpunch", "meteormash", "nastyplot", "aurasphere", "darkpulse", "flashcannon"],
randomDoubleBattleMoves: ["followme", "closecombat", "crunch", "extremespeed", "icepunch", "bulletpunch", "meteormash", "aurasphere", "darkpulse", "vacuumwave", "flashcannon", "protect"],
requiredItem: "Lucarionite",
tier: "Uber",
doublesTier: "(DUU)",
},
@ -3313,7 +3258,6 @@ let BattleFormatsData = {
abomasnowmega: {
randomBattleMoves: ["blizzard", "gigadrain", "woodhammer", "earthquake", "iceshard", "hiddenpowerfire"],
randomDoubleBattleMoves: ["blizzard", "iceshard", "gigadrain", "protect", "focusblast", "woodhammer", "earthquake"],
requiredItem: "Abomasite",
tier: "NU",
doublesTier: "DUU",
},
@ -3421,7 +3365,6 @@ let BattleFormatsData = {
giratinaorigin: {
randomBattleMoves: ["dracometeor", "shadowsneak", "dragontail", "willowisp", "defog", "toxic", "shadowball", "earthquake"],
randomDoubleBattleMoves: ["dracometeor", "shadowsneak", "tailwind", "hiddenpowerfire", "willowisp", "calmmind", "substitute", "dragonpulse", "shadowball", "aurasphere", "protect", "earthquake"],
requiredItem: "Griseous Orb",
tier: "Uber",
doublesTier: "DUber",
},
@ -3482,87 +3425,70 @@ let BattleFormatsData = {
arceusbug: {
randomBattleMoves: ["swordsdance", "xscissor", "stoneedge", "recover", "earthquake", "ironhead"],
randomDoubleBattleMoves: ["swordsdance", "xscissor", "stoneedge", "recover", "earthquake", "ironhead", "protect"],
requiredItems: ["Insect Plate", "Buginium Z"],
},
arceusdark: {
randomBattleMoves: ["calmmind", "judgment", "recover", "fireblast", "toxic"],
randomDoubleBattleMoves: ["calmmind", "judgment", "recover", "focusblast", "safeguard", "snarl", "willowisp", "protect"],
requiredItems: ["Dread Plate", "Darkinium Z"],
},
arceusdragon: {
randomBattleMoves: ["swordsdance", "outrage", "extremespeed", "earthquake", "recover", "judgment", "fireblast", "willowisp", "defog"],
randomDoubleBattleMoves: ["swordsdance", "dragonclaw", "extremespeed", "earthquake", "recover", "protect"],
requiredItems: ["Draco Plate", "Dragonium Z"],
},
arceuselectric: {
randomBattleMoves: ["calmmind", "judgment", "recover", "icebeam", "earthpower"],
randomDoubleBattleMoves: ["calmmind", "judgment", "recover", "icebeam", "protect"],
requiredItems: ["Zap Plate", "Electrium Z"],
},
arceusfairy: {
randomBattleMoves: ["calmmind", "judgment", "recover", "willowisp", "defog", "earthpower", "toxic"],
randomDoubleBattleMoves: ["calmmind", "judgment", "recover", "willowisp", "protect", "earthpower", "thunderbolt"],
requiredItems: ["Pixie Plate", "Fairium Z"],
},
arceusfighting: {
randomBattleMoves: ["calmmind", "judgment", "stoneedge", "shadowball", "recover", "roar", "icebeam"],
randomDoubleBattleMoves: ["calmmind", "judgment", "icebeam", "shadowball", "recover", "willowisp", "protect"],
requiredItems: ["Fist Plate", "Fightinium Z"],
},
arceusfire: {
randomBattleMoves: ["calmmind", "fireblast", "roar", "thunderbolt", "icebeam", "recover"],
randomDoubleBattleMoves: ["calmmind", "judgment", "thunderbolt", "recover", "heatwave", "protect", "willowisp"],
requiredItems: ["Flame Plate", "Firium Z"],
},
arceusflying: {
randomBattleMoves: ["calmmind", "judgment", "earthpower", "fireblast", "toxic", "recover"],
randomDoubleBattleMoves: ["calmmind", "judgment", "safeguard", "recover", "substitute", "tailwind", "protect"],
requiredItems: ["Sky Plate", "Flyinium Z"],
},
arceusghost: {
randomBattleMoves: ["swordsdance", "shadowforce", "shadowclaw", "brickbreak", "extremespeed", "recover", "judgment", "toxic", "defog"],
randomDoubleBattleMoves: ["calmmind", "judgment", "focusblast", "recover", "swordsdance", "shadowforce", "brickbreak", "willowisp", "protect"],
requiredItems: ["Spooky Plate", "Ghostium Z"],
},
arceusgrass: {
randomBattleMoves: ["judgment", "recover", "calmmind", "icebeam", "fireblast"],
randomDoubleBattleMoves: ["calmmind", "icebeam", "judgment", "earthpower", "recover", "safeguard", "thunderwave", "protect"],
requiredItems: ["Meadow Plate", "Grassium Z"],
},
arceusground: {
randomBattleMoves: ["swordsdance", "earthquake", "stoneedge", "recover", "judgment", "icebeam", "toxic", "stealthrock"],
randomDoubleBattleMoves: ["swordsdance", "earthquake", "stoneedge", "recover", "calmmind", "judgment", "icebeam", "rockslide", "protect"],
requiredItems: ["Earth Plate", "Groundium Z"],
},
arceusice: {
randomBattleMoves: ["calmmind", "judgment", "thunderbolt", "fireblast", "recover"],
randomDoubleBattleMoves: ["calmmind", "judgment", "thunderbolt", "focusblast", "recover", "protect", "icywind"],
requiredItems: ["Icicle Plate", "Icium Z"],
},
arceuspoison: {
randomBattleMoves: ["calmmind", "sludgebomb", "fireblast", "recover", "icebeam", "defog"],
randomDoubleBattleMoves: ["calmmind", "judgment", "sludgebomb", "heatwave", "recover", "willowisp", "protect", "earthpower"],
requiredItems: ["Toxic Plate", "Poisonium Z"],
},
arceuspsychic: {
randomBattleMoves: ["judgment", "calmmind", "fireblast", "recover", "icebeam", "toxic"],
randomDoubleBattleMoves: ["calmmind", "psyshock", "focusblast", "recover", "willowisp", "judgment", "protect"],
requiredItems: ["Mind Plate", "Psychium Z"],
},
arceusrock: {
randomBattleMoves: ["swordsdance", "earthquake", "stoneedge", "recover", "judgment", "willowisp", "stealthrock"],
randomDoubleBattleMoves: ["swordsdance", "stoneedge", "recover", "rockslide", "earthquake", "protect"],
requiredItems: ["Stone Plate", "Rockium Z"],
},
arceussteel: {
randomBattleMoves: ["judgment", "recover", "willowisp", "defog", "roar", "swordsdance", "ironhead", "earthquake", "stoneedge"],
randomDoubleBattleMoves: ["calmmind", "judgment", "recover", "protect", "willowisp"],
requiredItems: ["Iron Plate", "Steelium Z"],
},
arceuswater: {
randomBattleMoves: ["recover", "calmmind", "judgment", "icebeam", "toxic", "defog"],
randomDoubleBattleMoves: ["recover", "calmmind", "judgment", "icebeam", "fireblast", "icywind", "surf", "protect"],
requiredItems: ["Splash Plate", "Waterium Z"],
},
victini: {
inherit: true,
@ -3762,7 +3688,6 @@ let BattleFormatsData = {
audinomega: {
randomBattleMoves: ["wish", "calmmind", "healbell", "dazzlinggleam", "protect", "fireblast"],
randomDoubleBattleMoves: ["healpulse", "protect", "healbell", "trickroom", "thunderwave", "hypervoice", "helpinghand", "dazzlinggleam"],
requiredItem: "Audinite",
tier: "NU",
doublesTier: "(DUU)",
},
@ -4419,9 +4344,6 @@ let BattleFormatsData = {
tier: "OU",
doublesTier: "(DUU)",
},
keldeoresolute: {
requiredMove: "Secret Sword",
},
meloetta: {
inherit: true,
randomBattleMoves: ["uturn", "calmmind", "psyshock", "hypervoice", "shadowball", "focusblast"],
@ -4433,8 +4355,6 @@ let BattleFormatsData = {
meloettapirouette: {
randomBattleMoves: ["relicsong", "closecombat", "knockoff", "return"],
randomDoubleBattleMoves: ["relicsong", "closecombat", "knockoff", "return", "protect"],
requiredMove: "Relic Song",
battleOnly: true,
},
genesect: {
inherit: true,
@ -4444,18 +4364,6 @@ let BattleFormatsData = {
tier: "Uber",
doublesTier: "DOU",
},
genesectburn: {
requiredItem: "Burn Drive",
},
genesectchill: {
requiredItem: "Chill Drive",
},
genesectdouse: {
requiredItem: "Douse Drive",
},
genesectshock: {
requiredItem: "Shock Drive",
},
chespin: {
tier: "LC",
},
@ -4872,8 +4780,6 @@ let BattleFormatsData = {
},
zygardecomplete: {
gen: 7,
requiredAbility: "Power Construct",
battleOnly: true,
tier: "Uber",
doublesTier: "DUber",
},
@ -4888,7 +4794,6 @@ let BattleFormatsData = {
dianciemega: {
randomBattleMoves: ["calmmind", "moonblast", "earthpower", "hiddenpowerfire", "diamondstorm"],
randomDoubleBattleMoves: ["diamondstorm", "moonblast", "calmmind", "psyshock", "earthpower", "hiddenpowerfire", "dazzlinggleam", "protect"],
requiredItem: "Diancite",
tier: "OU",
doublesTier: "DOU",
},
@ -5245,119 +5150,102 @@ let BattleFormatsData = {
silvallybug: {
randomBattleMoves: ["flamethrower", "icebeam", "thunderbolt", "uturn", "defog"],
randomDoubleBattleMoves: ["protect", "uturn", "flamethrower", "icebeam", "thunderbolt", "thunderwave"],
requiredItem: "Bug Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallydark: {
randomBattleMoves: ["multiattack", "swordsdance", "flamecharge", "ironhead"],
randomDoubleBattleMoves: ["protect", "multiattack", "icebeam", "partingshot", "uturn", "snarl", "thunderwave"],
requiredItem: "Dark Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallydragon: {
randomBattleMoves: ["multiattack", "ironhead", "flamecharge", "flamethrower", "icebeam", "dracometeor", "swordsdance", "uturn"],
randomDoubleBattleMoves: ["protect", "dracometeor", "icebeam", "flamethrower", "partingshot", "uturn", "thunderwave"],
requiredItem: "Dragon Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallyelectric: {
randomBattleMoves: ["multiattack", "flamethrower", "icebeam", "partingshot", "toxic"],
randomDoubleBattleMoves: ["protect", "thunderbolt", "icebeam", "uturn", "partingshot", "snarl", "thunderwave"],
requiredItem: "Electric Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallyfairy: {
randomBattleMoves: ["multiattack", "flamethrower", "rockslide", "thunderwave", "partingshot"],
randomDoubleBattleMoves: ["protect", "multiattack", "uturn", "icebeam", "partingshot", "flamethrower", "thunderwave"],
requiredItem: "Fairy Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallyfighting: {
randomBattleMoves: ["swordsdance", "multiattack", "shadowclaw", "flamecharge", "ironhead"],
randomDoubleBattleMoves: ["protect", "multiattack", "rockslide", "swordsdance", "flamecharge"],
requiredItem: "Fighting Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallyfire: {
randomBattleMoves: ["multiattack", "icebeam", "thunderbolt", "uturn", "defog"],
randomDoubleBattleMoves: ["protect", "flamethrower", "snarl", "uturn", "thunderbolt", "icebeam", "thunderwave"],
requiredItem: "Fire Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallyflying: {
randomBattleMoves: ["multiattack", "flamethrower", "ironhead", "partingshot", "thunderwave"],
randomDoubleBattleMoves: ["protect", "multiattack", "partingshot", "swordsdance", "flamecharge", "uturn", "ironhead", "thunderwave"],
requiredItem: "Flying Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallyghost: {
randomBattleMoves: ["multiattack", "flamethrower", "icebeam", "partingshot", "toxic"],
randomDoubleBattleMoves: ["protect", "multiattack", "uturn", "icebeam", "partingshot"],
requiredItem: "Ghost Memory",
tier: "PU",
doublesTier: "(DUU)",
},
silvallygrass: {
randomBattleMoves: ["multiattack", "flamethrower", "icebeam", "partingshot", "toxic"],
randomDoubleBattleMoves: ["protect", "flamethrower", "multiattack", "icebeam", "uturn", "partingshot", "thunderwave"],
requiredItem: "Grass Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallyground: {
randomBattleMoves: ["multiattack", "swordsdance", "flamecharge", "rockslide"],
randomDoubleBattleMoves: ["protect", "multiattack", "icebeam", "thunderbolt", "flamecharge", "rockslide", "swordsdance"],
requiredItem: "Ground Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallyice: {
randomBattleMoves: ["multiattack", "thunderbolt", "flamethrower", "uturn", "toxic"],
randomDoubleBattleMoves: ["protect", "icebeam", "thunderbolt", "partingshot", "uturn", "thunderwave"],
requiredItem: "Ice Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallypoison: {
randomBattleMoves: ["multiattack", "flamethrower", "icebeam", "partingshot", "toxic"],
randomDoubleBattleMoves: ["protect", "multiattack", "uturn", "partingshot", "flamethrower", "icebeam", "thunderwave"],
requiredItem: "Poison Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallypsychic: {
randomBattleMoves: ["multiattack", "flamethrower", "rockslide", "partingshot", "thunderwave"],
randomDoubleBattleMoves: ["protect", "multiattack", "partingshot", "uturn", "flamethrower", "thunderwave"],
requiredItem: "Psychic Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallyrock: {
randomBattleMoves: ["multiattack", "flamethrower", "icebeam", "partingshot", "toxic"],
randomDoubleBattleMoves: ["protect", "rockslide", "uturn", "icebeam", "flamethrower", "partingshot"],
requiredItem: "Rock Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
silvallysteel: {
randomBattleMoves: ["multiattack", "crunch", "flamethrower", "thunderbolt", "defog"],
randomDoubleBattleMoves: ["protect", "multiattack", "swordsdance", "rockslide", "flamecharge", "uturn", "partingshot"],
requiredItem: "Steel Memory",
tier: "NU",
doublesTier: "(DUU)",
},
silvallywater: {
randomBattleMoves: ["multiattack", "icebeam", "thunderbolt", "partingshot", "defog"],
randomDoubleBattleMoves: ["protect", "multiattack", "icebeam", "thunderbolt", "flamethrower", "partingshot", "uturn", "thunderwave"],
requiredItem: "Water Memory",
tier: "(PU)",
doublesTier: "(DUU)",
},
@ -5367,10 +5255,6 @@ let BattleFormatsData = {
tier: "NU",
doublesTier: "(DUU)",
},
miniormeteor: {
requiredAbility: 'Shields Down',
battleOnly: true,
},
komala: {
randomBattleMoves: ["return", "suckerpunch", "woodhammer", "earthquake", "playrough", "uturn"],
randomDoubleBattleMoves: ["protect", "return", "uturn", "suckerpunch", "woodhammer", "shadowclaw", "playrough", "swordsdance"],
@ -5409,10 +5293,7 @@ let BattleFormatsData = {
tier: "UU",
doublesTier: "DUU",
},
mimikyubustedtotem: {
requiredAbility: 'Disguise',
battleOnly: true,
},
mimikyubustedtotem: {},
bruxish: {
randomBattleMoves: ["psychicfangs", "crunch", "liquidation", "icefang", "aquajet", "swordsdance"],
randomDoubleBattleMoves: ["psychicfangs", "crunch", "liquidation", "aquajet", "protect", "swordsdance"],
@ -5579,8 +5460,6 @@ let BattleFormatsData = {
doublesTier: "DUber",
},
necrozmaultra: {
requiredItem: "Ultranecrozium Z",
battleOnly: true,
tier: "Uber",
doublesTier: "DUber",
},

View File

@ -41,7 +41,7 @@ class RandomGen7Teams extends RandomTeams {
if (template.battleOnly) {
// Only change the species. The template has custom moves, and may have different typing and requirements.
species = this.dex.getOutOfBattleSpecies(template);
species = /** @type {string} */ (template.battleOnly);
}
let battleForme = this.checkBattleForme(template);
if (battleForme && battleForme.randomBattleMoves && template.otherFormes && (battleForme.isMega ? !teamDetails.megaStone : this.random(2))) {

View File

@ -21,7 +21,7 @@ class RandomLetsGoTeams extends RandomTeams {
if (template.battleOnly) {
// Only change the species. The template has custom moves, and may have different typing and requirements.
species = this.dex.getOutOfBattleSpecies(template);
species = /** @type {string} */ (template.battleOnly);
}
// @ts-ignore

File diff suppressed because it is too large Load Diff

View File

@ -625,7 +625,7 @@ class RandomTeams {
if (template.battleOnly && !template.isGigantamax) {
// Only change the species. The template has custom moves, and may have different typing and requirements.
species = this.dex.getOutOfBattleSpecies(template);
species = /** @type {string} */ (template.battleOnly);
}
const randMoves = !isDoubles ? template.randomBattleMoves : (template.randomDoubleBattleMoves || template.randomBattleMoves);
@ -1379,7 +1379,7 @@ class RandomTeams {
if (isMonotype) {
if (template.types.indexOf(type) < 0) continue;
if (template.battleOnly) {
template = this.dex.getTemplate(this.dex.getOutOfBattleSpecies(template));
template = this.dex.getTemplate(/** @type {string} */ (template.battleOnly));
if (template.types.indexOf(type) < 0) continue;
}
}

View File

@ -616,7 +616,7 @@ export class Template extends BasicEffect implements Readonly<BasicEffect & Temp
/** Name of its Gigantamax move, if a pokemon is gigantamax. */
readonly isGigantamax?: string;
/** True if a pokemon is a forme that is only accessible in battle. */
readonly battleOnly?: boolean;
readonly battleOnly?: string | string[];
/** Required item. Do not use this directly; see requiredItems. */
readonly requiredItem?: string;
/** Required move. Move required to use this forme in-battle. */
@ -703,8 +703,9 @@ export class Template extends BasicEffect implements Readonly<BasicEffect & Temp
this.maxHP = data.maxHP || undefined;
this.isMega = !!(this.forme && ['Mega', 'Mega-X', 'Mega-Y'].includes(this.forme)) || undefined;
this.isGigantamax = data.isGigantamax || undefined;
this.battleOnly = !!data.battleOnly || !!this.isMega || !!this.isGigantamax || undefined;
this.inheritsFrom = data.inheritsFrom || undefined;
this.battleOnly = data.battleOnly ||
(data.requiredAbility || !!this.isMega || !!this.isGigantamax ? this.baseSpecies : undefined);
this.inheritsFrom = data.inheritsFrom || (this.isGigantamax ? toID(this.baseSpecies) : undefined);
if (!this.gen && this.num >= 1) {
if (this.num >= 810 || ['Gmax', 'Galar', 'Galar-Zen'].includes(this.forme)) {
@ -714,7 +715,7 @@ export class Template extends BasicEffect implements Readonly<BasicEffect & Temp
} else if (this.forme === 'Primal') {
this.gen = 6;
this.isPrimal = true;
this.battleOnly = true;
this.battleOnly = this.baseSpecies;
} else if (this.num >= 650 || this.isMega) {
this.gen = 6;
} else if (this.num >= 494) {

View File

@ -417,9 +417,9 @@ export class ModdedDex {
} else if (template.speciesid.endsWith('totem')) {
template.tier = this.data.FormatsData[template.speciesid.slice(0, -5)].tier || 'Illegal';
template.doublesTier = this.data.FormatsData[template.speciesid.slice(0, -5)].doublesTier || 'Illegal';
} else if (template.inheritsFrom) {
template.tier = this.data.FormatsData[template.inheritsFrom].tier || 'Illegal';
template.doublesTier = this.data.FormatsData[template.inheritsFrom].doublesTier || 'Illegal';
} else if (template.battleOnly) {
template.tier = this.data.FormatsData[toID(template.battleOnly)].tier || 'Illegal';
template.doublesTier = this.data.FormatsData[toID(template.battleOnly)].doublesTier || 'Illegal';
} else {
const baseFormatsData = this.data.FormatsData[toID(template.baseSpecies)];
if (!baseFormatsData) {

View File

@ -1080,6 +1080,12 @@ interface TemplateData {
otherForms?: string[];
otherFormes?: string[];
prevo?: string;
requiredAbility?: string;
requiredItem?: string;
requiredItems?: string[];
requiredMove?: string;
battleOnly?: string | string[];
isGigantamax?: string;
inheritsFrom?: string;
}
@ -1088,23 +1094,17 @@ interface ModdedTemplateData extends Partial<TemplateData> {
}
interface TemplateFormatsData {
battleOnly?: boolean;
comboMoves?: readonly string[];
doublesTier?: string;
essentialMove?: string;
exclusiveMoves?: readonly string[];
gen?: number;
isGigantamax?: string;
isNonstandard?: Nonstandard | null;
isUnreleased?: boolean | 'Past';
maleOnlyHidden?: boolean;
randomBattleMoves?: readonly string[];
randomDoubleBattleMoves?: readonly string[];
randomSets?: readonly RandomTeamsTypes.Gen2RandomSet[];
requiredAbility?: string;
requiredItem?: string;
requiredItems?: string[];
requiredMove?: string;
tier?: string;
unreleasedHidden?: boolean | 'Past';
}