diff --git a/config/formats.ts b/config/formats.ts index 692f7812dd..ef305c1447 100644 --- a/config/formats.ts +++ b/config/formats.ts @@ -3384,21 +3384,19 @@ export const Formats: import('../sim/dex-formats').FormatList = [ section: "Pet Mods", }, { - name: "[Gen 9] Scootopia Random Battle", - desc: `A Gen 9 Fakemon micrometa featuring the Super Types mechanic, granting 1 Pokemon per team an additional and powerful new typing.`, - mod: 'scootopiav2', - team: 'randomSC', + name: "[Gen 9] Six by Six Random Battle", + desc: `A Gen 9 micrometa featuring only 6 Pokemon with 6 forms each.`, + mod: 'sixbysix', + team: 'random6x6', ruleset: [ 'Species Clause', 'HP Percentage Mod', 'Cancel Mod', 'Sleep Clause Mod', 'Illusion Level Mod', - 'Terastal Clause', 'Super Type Moves Rule', 'Data Preview', 'Sprite Viewer', + 'Terastal Clause', 'Data Preview', 'Sprite Viewer', ], onBegin() { - this.add(`raw|
Need help with all of the new moves, abilities, and wacky stuff?
Then make sure to check out the Scootopia Spreadsheet or use /dt!
`); - this.add('-message', `Welcome to Scootopia!`); - this.add('-message', `This is a fakemon micrometa created by Scoopapa, featuring the Super Types mechanic!`); - this.add('-message', `Super Types are powerful additional types that a Pokemon can gain by holding a specific Super Type Orb!`); + this.add('-message', `Welcome to Six by Six!`); + this.add('-message', `This is a micrometa featuring just 6 Pokemon, each with 6 forms each!`); this.add('-message', `You can find our thread and metagame resources here:`); - this.add('-message', `https://www.smogon.com/forums/threads/3742131/`); + this.add('-message', `https://www.smogon.com/forums/threads/3769141/`); }, onSwitchInPriority: 100, onSwitchIn(pokemon) { @@ -3410,32 +3408,31 @@ export const Formats: import('../sim/dex-formats').FormatList = [ }, }, { - name: "[Gen 9] Scootopia", // Roomtours - desc: `A Gen 9 Fakemon micrometa featuring the Super Types mechanic, granting 1 Pokemon per team an additional and powerful new typing.`, - mod: 'scootopiav2', + name: "[Gen 9] Six by Six", // Roomtours + desc: `A Gen 9 micrometa featuring only 6 Pokemon with 6 forms each.`, + mod: 'sixbysix', searchShow: false, - ruleset: ['Standard NatDex', 'Terastal Clause', 'Z-Move Clause', 'Super Type Moves Rule', 'Data Preview', 'Sprite Viewer'], + ruleset: ['Standard', 'Sleep Moves Clause', '!Sleep Clause Mod', 'Terastal Clause', 'Data Preview', 'Sprite Viewer'], banlist: [ - 'All Pokemon', 'Crystal Heart', 'Wild Heart', + 'All Pokemon', 'Last Respects', 'Shed Tail', 'King\'s Rock', 'Razor Fang', 'Baton Pass', ], unbanlist: [ - 'Arbrella', 'Krachiten', 'Scalaron', 'Rantler', 'Woolora', 'Albatrygon', 'Orchile', - 'Embuck', 'Cindoe', 'Cobracotta', 'Minillow', 'Crossont', 'Torgeist', 'Platypad', 'Lumoth', - 'Aurorowl', 'Carapex', 'Dojodo', 'Nunopod', 'Zeploom', 'Brawnkey', 'Salamalix', 'Cinnastar', - 'MuabBoa', 'Sturgard', 'Harzodia', 'Cyllindrake', 'Kodokai', 'Electangle', 'Dolphena', 'Soleron', - 'Soleron-Awakened', 'Jaegorm', 'Jaegorm-Collective', 'Elemadillo', 'Axolacred', 'Roscenti', - 'Blunderbusk', 'Barracoth', 'Jamborai', 'Dracoil', 'Celespirit', 'Noxtrice', 'Avastar', - 'Faerenheit', 'Cellsius', 'Kelven', 'Salaos', 'Morndos', 'Pythos', 'Corundell', 'Quadringo', - 'Saphor', 'Fenreil', 'Efflor', 'Flocura', 'Flocura-Nexus', + 'Kingdra-Classic', 'Kingdra-Brinepool', 'Kingdra-Druid', 'Kingdra-Bard', 'Kingdra-Gourmet', 'Kingdra-Ancient', + 'Nidoqueen-Classic', 'Nidoqueen-Erudite', 'Nidoqueen-Volcanic', + 'Nidoqueen-Rosegold', 'Nidoqueen-Shaman', 'Nidoqueen-Jasper', + 'Bisharp-Centurion', 'Bisharp-Savage', 'Bisharp-Ronin', 'Bisharp-Mantis', 'Bisharp-Revenant', 'Bisharp-Assassin', + 'Corviknight-Thunderbird', 'Corviknight-Genie', 'Corviknight-Yeti', + 'Corviknight-Analytical', 'Corviknight-Martian', 'Corviknight-Falcon', + 'Krookodile-Infernal', 'Krookodile-Abyssal', 'Krookodile-Wetlander', + 'Krookodile-Cave Dweller', 'Krookodile-Cliffside', 'Krookodile-Quantum', + 'Ogerpon-Muerta', 'Ogerpon-Easter', 'Ogerpon-Ankh', 'Ogerpon-Eid', 'Ogerpon-Vessel', 'Ogerpon-Kitsune', ], onBegin() { - this.add(`raw|
Need help with all of the new moves, abilities, and wacky stuff?
Then make sure to check out the Scootopia Spreadsheet or use /dt!
`); - this.add('-message', `Welcome to Scootopia!`); - this.add('-message', `This is a fakemon micrometa created by Scoopapa, featuring the Super Types mechanic!`); - this.add('-message', `Super Types are powerful additional types that a Pokemon can gain by holding a specific Super Type Orb!`); + this.add('-message', `Welcome to Six by Six!`); + this.add('-message', `This is a micrometa featuring just 6 Pokemon, each with 6 forms each!`); this.add('-message', `You can find our thread and metagame resources here:`); - this.add('-message', `https://www.smogon.com/forums/threads/3742131/`); + this.add('-message', `https://www.smogon.com/forums/threads/3769141/`); }, onSwitchInPriority: 100, onSwitchIn(pokemon) { diff --git a/data/mods/scootopiav2/abilities.ts b/data/mods/scootopiav2/abilities.ts deleted file mode 100644 index 90d59ddb10..0000000000 --- a/data/mods/scootopiav2/abilities.ts +++ /dev/null @@ -1,135 +0,0 @@ -export const Abilities: import('../../../sim/dex-abilities').ModdedAbilityDataTable = { - mythicalpresence: { - name: "Mythical Presence", - shortDesc: "Lowers opposing Pokemon Special Attack by 1 stage when switching in.", - onStart(pokemon) { - let activated = false; - for (const target of pokemon.adjacentFoes()) { - if (!activated) { - this.add('-ability', pokemon, 'Mythical Presence', 'boost'); - activated = true; - } - if (target.volatiles['substitute']) { - this.add('-immune', target); - } else { - this.boost({ spa: -1 }, target, pokemon, null, true); - } - } - }, - }, - powerconstruct: { - onResidualOrder: 27, - onResidual(pokemon) { - if (pokemon.baseSpecies.baseSpecies !== 'Flocura' || pokemon.transformed || !pokemon.hp) return; - if (pokemon.species.id === 'flocuranexus' || pokemon.hp > pokemon.maxhp / 2) return; - this.add('-activate', pokemon, 'ability: Power Construct'); - pokemon.formeChange('Flocura-Nexus', this.effect, true); - pokemon.baseMaxhp = Math.floor(Math.floor( - 2 * pokemon.species.baseStats['hp'] + pokemon.set.ivs['hp'] + Math.floor(pokemon.set.evs['hp'] / 4) + 100 - ) * pokemon.level / 100 + 10); - const newMaxHP = pokemon.volatiles['dynamax'] ? (2 * pokemon.baseMaxhp) : pokemon.baseMaxhp; - pokemon.hp = newMaxHP - (pokemon.maxhp - pokemon.hp); - pokemon.maxhp = newMaxHP; - this.add('-heal', pokemon, pokemon.getHealth, '[silent]'); - }, - flags: { failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1 }, - name: "Power Construct", - rating: 5, - num: 211, - }, - battlebond: { - shortDesc: "Change to a stronger forme after getting a KO.", - onSourceAfterFaint(length, target, source, effect) { - if (effect?.effectType !== 'Move') { - return; - } - if (source.species.id === 'soleron' && source.hp && !source.transformed && source.side.foe.pokemonLeft) { - this.add('-activate', source, 'ability: Battle Bond'); - source.formeChange('Soleron-Awakened', this.effect, true); - } - }, - onModifyMovePriority: -1, - flags: { failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1 }, - name: "Battle Bond", - rating: 4, - num: 210, - }, - crystalheart: { - shortDesc: "User becomes Crystal type. While Crystal type, 33% boost to Def and SpD", - onStart(pokemon) { - if (pokemon.hasType('Crystal')) return false; - if (!pokemon.addType('Crystal')) return false; - pokemon.setType(["Crystal"]); - this.add('-start', pokemon, 'typechange', 'Crystal', '[from] ability: Crystal Heart'); - }, - onModifyDefPriority: 6, - onModifyDef(def, pokemon) { - if (pokemon.hasType('Crystal')) return this.chainModify(1 + (1 / 3)); - }, - onModifySpDPriority: 6, - onModifySpD(spd, pokemon) { - if (pokemon.hasType('Crystal')) return this.chainModify(1 + (1 / 3)); - }, - name: "Crystal Heart", - }, - wildheart: { - onStart(pokemon) { - if (pokemon.hasType('Feral')) return false; - if (!pokemon.addType('Feral')) return false; - pokemon.setType(["Feral"]); - this.add('-start', pokemon, 'typechange', "Feral", '[from] ability: Wild Heart'); - }, - onModifyAtkPriority: 6, - onModifyAtk(atk, pokemon) { - if (pokemon.hasType('Feral')) return this.chainModify(1 + (1 / 3)); - }, - onModifySpAPriority: 6, - onModifySpA(spa, pokemon) { - if (pokemon.hasType('Feral')) return this.chainModify(1 + (1 / 3)); - }, - name: "Wild Heart", - shortDesc: "User becomes Feral type. While Feral type, 33% boost to Atk and SpA", - }, - schooling: { - onStart(pokemon) { - if (pokemon.baseSpecies.baseSpecies !== 'Jaegorm' || pokemon.transformed) return; - if (pokemon.hp > pokemon.maxhp / 4) { - if (pokemon.species.id === 'jaegorm') { - pokemon.formeChange('Jaegorm-Collective'); - } - } else { - if (pokemon.species.id === 'jaegormcollective') { - pokemon.formeChange('Jaegorm'); - } - } - }, - onResidualOrder: 27, - onResidual(pokemon) { - if ( - pokemon.baseSpecies.baseSpecies !== 'Jaegorm' || pokemon.transformed || !pokemon.hp - ) return; - if (pokemon.hp > pokemon.maxhp / 4) { - if (pokemon.species.id === 'jaegorm') { - pokemon.formeChange('Jaegorm-Collective'); - } - } else { - if (pokemon.species.id === 'jaegormcollective') { - pokemon.formeChange('Jaegorm'); - } - } - }, - flags: { failroleplay: 1, noreceiver: 1, noentrain: 1, notrace: 1, failskillswap: 1, cantsuppress: 1 }, - name: "Schooling", - shortDesc: "If user is Jaegorm, changes to Collective Form if it has > 1/4 max HP, else Solo Form.", - rating: 3, - num: 208, - }, - shellbunker: { - onDamage(damage, target, source, effect) { - if (effect.effectType !== 'Move' || !target.hurtThisTurn) return damage; - return damage / 2; - }, - name: "Shell Bunker", - shortDesc: "After taking damage, Def and SpD are doubled for the rest of the turn.", - }, -}; diff --git a/data/mods/scootopiav2/conditions.ts b/data/mods/scootopiav2/conditions.ts deleted file mode 100644 index 7086193b90..0000000000 --- a/data/mods/scootopiav2/conditions.ts +++ /dev/null @@ -1,67 +0,0 @@ -export const Conditions: import('../../../sim/dex-conditions').ModdedConditionDataTable = { - frz: { - name: 'frz', - /* - start: " [Pokemon] was chilled!", - alreadyStarted: " [POKEMON] is already chilled!", - end: " [POKEMON] warmed up!", - endFromItem: " [POKEMON]'s [ITEM] warmed it up!", - endFromMove: " [POKEMON]'s [MOVE] warmed it up!", - cant: "[POKEMON] is chilled!", - */ - effectType: 'Status', - onStart(target, source, sourceEffect) { - if (sourceEffect && sourceEffect.effectType === 'Ability') { - this.add('-status', target, 'frz', '[from] ability: ' + sourceEffect.name, `[of] ${source}`); - } else { - this.add('-status', target, 'frz'); - } - }, - onResidualOrder: 9, - onResidual(pokemon) { - this.damage(pokemon.baseMaxhp / 16); - }, - onModifySpA(spa, pokemon) { - return this.chainModify(0.5); - }, - }, - slp: { - name: 'slp', - effectType: 'Status', - onStart(target, source, sourceEffect) { - if (sourceEffect && sourceEffect.effectType === 'Ability') { - this.add('-status', target, 'slp', '[from] ability: ' + sourceEffect.name, `[of] ${source}`); - } else if (sourceEffect && sourceEffect.effectType === 'Move') { - this.add('-status', target, 'slp', '[from] move: ' + sourceEffect.name); - } else { - this.add('-status', target, 'slp'); - } - // 1-3 turns - this.effectState.startTime = 3; - const sleepMoves = ["sleeppowder", "spore", "grasswhistle", "darkvoid", "hypnosis"]; - if (sourceEffect && sourceEffect.effectType === 'Move') { - if (sleepMoves.includes(sourceEffect.id)) this.effectState.startTime = 2; - } - this.effectState.time = this.effectState.startTime; - }, - onBeforeMovePriority: 10, - onBeforeMove(pokemon, target, move) { - if (pokemon.hasAbility('earlybird')) { - pokemon.statusState.time--; - } - pokemon.statusState.time--; - if (pokemon.statusState.time <= 0) { - pokemon.cureStatus(); - return; - } - this.add('cant', pokemon, 'slp'); - if (move.sleepUsable) { - return; - } - return false; - }, - onModifySpe(spe, pokemon) { - return this.chainModify(0.5); - }, - }, -}; diff --git a/data/mods/scootopiav2/formats-data.ts b/data/mods/scootopiav2/formats-data.ts deleted file mode 100644 index a917f298fa..0000000000 --- a/data/mods/scootopiav2/formats-data.ts +++ /dev/null @@ -1,218 +0,0 @@ -export const FormatsData: import('../../../sim/dex-species').ModdedSpeciesFormatsDataTable = { - arbrella: { - tier: "OU", - doublesTier: "DOU", - }, - krachiten: { - tier: "OU", - doublesTier: "DOU", - }, - scalaron: { - tier: "OU", - doublesTier: "DOU", - }, - rantler: { - tier: "OU", - doublesTier: "DOU", - }, - woolora: { - tier: "OU", - doublesTier: "DOU", - }, - albatrygon: { - tier: "OU", - doublesTier: "DOU", - }, - orchile: { - tier: "OU", - doublesTier: "DOU", - }, - embuck: { - tier: "OU", - doublesTier: "DOU", - }, - cindoe: { - tier: "OU", - doublesTier: "DOU", - }, - cobracotta: { - tier: "OU", - doublesTier: "DOU", - }, - minillow: { - tier: "OU", - doublesTier: "DOU", - }, - crossont: { - tier: "OU", - doublesTier: "DOU", - }, - torgeist: { - tier: "OU", - doublesTier: "DOU", - }, - platypad: { - tier: "OU", - doublesTier: "DOU", - }, - lumoth: { - tier: "OU", - doublesTier: "DOU", - }, - aurorowl: { - tier: "OU", - doublesTier: "DOU", - }, - carapex: { - tier: "OU", - doublesTier: "DOU", - }, - dojodo: { - tier: "OU", - doublesTier: "DOU", - }, - nunopod: { - tier: "OU", - doublesTier: "DOU", - }, - zeploom: { - tier: "OU", - doublesTier: "DOU", - }, - sturgard: { - tier: "OU", - doublesTier: "DOU", - }, - brawnkey: { - tier: "OU", - doublesTier: "DOU", - }, - salamalix: { - tier: "OU", - doublesTier: "DOU", - }, - cinnastar: { - tier: "OU", - doublesTier: "DOU", - }, - muabboa: { - tier: "OU", - doublesTier: "DOU", - }, - harzodia: { - tier: "OU", - doublesTier: "DOU", - }, - cyllindrake: { - tier: "OU", - doublesTier: "DOU", - }, - kodokai: { - tier: "OU", - doublesTier: "DOU", - }, - electangle: { - tier: "OU", - doublesTier: "DOU", - }, - dolphena: { - tier: "OU", - doublesTier: "DOU", - }, - soleron: { - tier: "OU", - doublesTier: "DOU", - }, - jaegorm: { - tier: "OU", - doublesTier: "DOU", - }, - elemadillo: { - tier: "OU", - doublesTier: "DOU", - }, - axolacred: { - tier: "OU", - doublesTier: "DOU", - }, - roscenti: { - tier: "OU", - doublesTier: "DOU", - }, - blunderbusk: { - tier: "OU", - doublesTier: "DOU", - }, - barracoth: { - tier: "OU", - doublesTier: "DOU", - }, - jamborai: { - tier: "OU", - doublesTier: "DOU", - }, - dracoil: { - tier: "OU", - doublesTier: "DOU", - }, - celespirit: { - tier: "OU", - doublesTier: "DOU", - }, - noxtrice: { - tier: "OU", - doublesTier: "DOU", - }, - avastar: { - tier: "OU", - doublesTier: "DOU", - }, - faerenheit: { - tier: "OU", - doublesTier: "DOU", - }, - cellsius: { - tier: "OU", - doublesTier: "DOU", - }, - kelven: { - tier: "OU", - doublesTier: "DOU", - }, - salaos: { - tier: "OU", - doublesTier: "DOU", - }, - morndos: { - tier: "OU", - doublesTier: "DOU", - }, - pythos: { - tier: "OU", - doublesTier: "DOU", - }, - corundell: { - tier: "OU", - doublesTier: "DOU", - }, - quadringo: { - tier: "OU", - doublesTier: "DOU", - }, - saphor: { - tier: "OU", - doublesTier: "DOU", - }, - fenreil: { - tier: "OU", - doublesTier: "DOU", - }, - efflor: { - tier: "OU", - doublesTier: "DOU", - }, - flocura: { - tier: "OU", - doublesTier: "DOU", - }, -}; diff --git a/data/mods/scootopiav2/items.ts b/data/mods/scootopiav2/items.ts deleted file mode 100644 index 5b340b51a1..0000000000 --- a/data/mods/scootopiav2/items.ts +++ /dev/null @@ -1,88 +0,0 @@ -export const Items: import('../../../sim/dex-items').ModdedItemDataTable = { - crystalorb: { - name: "Crystal Orb", - num: 1001, - desc: "The holder's secondary type is replaced with Crystal. 20% boost to Crystal attacks.", - onBeforeSwitchIn(pokemon) { - if (this.effectState.usedSuperType && this.effectState.superTypeUser !== pokemon.fullname) return false; - if (pokemon.hasType('Crystal')) return false; - if (!pokemon.addType('Crystal')) return false; - pokemon.setType([pokemon.types[0], "Crystal"]); - this.effectState.usedSuperType = true; - this.effectState.superTypeUser = "first_switch"; - }, - onStart(pokemon) { - if (this.effectState.usedSuperType && this.effectState.superTypeUser === "first_switch") { - this.add('-message', pokemon.name + " is a Crystal type!"); - this.effectState.superTypeUser = pokemon.fullname; - } - if (this.effectState.usedSuperType && this.effectState.superTypeUser === pokemon.fullname) { - this.add('-start', pokemon, 'typechange', pokemon.getTypes(true).join('/'), '[silent]'); - } - }, - onUpdate(pokemon) { - if ( - this.effectState.usedSuperType && this.effectState.superTypeUser === pokemon.fullname && !pokemon.hasType('Crystal') - ) { - pokemon.setType([pokemon.types[0], "Crystal"]); - this.add('-start', pokemon, 'typechange', pokemon.getTypes(true).join('/'), '[silent]'); - } - }, - onTakeItem(item, pokemon, source) { - if (source?.hasType("Crystal")) { - return false; - } - return true; - }, - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Crystal') { - return this.chainModify([0x1333, 0x1000]); - } - }, - gen: 9, - }, - feralorb: { - name: "Feral Orb", - num: 1002, - desc: "The holder's secondary type is replaced with Feral. 20% boost to Feral attacks.", - onBeforeSwitchIn(pokemon) { - if (this.effectState.usedSuperType && this.effectState.superTypeUser !== pokemon.fullname) return false; - if (pokemon.hasType('Feral')) return false; - if (!pokemon.addType('Feral')) return false; - pokemon.setType([pokemon.types[0], "Feral"]); - this.effectState.usedSuperType = true; - this.effectState.superTypeUser = "first_switch"; - }, - onStart(pokemon) { - if (this.effectState.usedSuperType && this.effectState.superTypeUser === "first_switch") { - this.add('-message', pokemon.name + " is a Feral type!"); - this.effectState.superTypeUser = pokemon.fullname; - } - if (this.effectState.usedSuperType && this.effectState.superTypeUser === pokemon.fullname) { - this.add('-start', pokemon, 'typechange', pokemon.getTypes(true).join('/'), '[silent]'); - } - }, - onUpdate(pokemon) { - if ( - this.effectState.usedSuperType && this.effectState.superTypeUser === pokemon.fullname && !pokemon.hasType('Feral') - ) { - pokemon.setType([pokemon.types[0], "Feral"]); - this.add('-start', pokemon, 'typechange', pokemon.getTypes(true).join('/'), '[silent]'); - } - }, - onTakeItem(item, pokemon, source) { - if (source?.hasType("Feral")) { - return false; - } - return true; - }, - onBasePowerPriority: 15, - onBasePower(basePower, user, target, move) { - if (move && move.type === 'Feral') { - return this.chainModify([0x1333, 0x1000]); - } - }, - gen: 9, - }, -}; diff --git a/data/mods/scootopiav2/learnsets.ts b/data/mods/scootopiav2/learnsets.ts deleted file mode 100644 index 3573141dfa..0000000000 --- a/data/mods/scootopiav2/learnsets.ts +++ /dev/null @@ -1,4473 +0,0 @@ -export const Learnsets: import('../../../sim/dex-species').ModdedLearnsetDataTable = { - arbrella: { - learnset: { - woodhammer: ["9L1"], - seedbomb: ["9L1"], - grassyglide: ["9L1"], - bulletseed: ["9L1"], - solarblade: ["9L1"], - razorleaf: ["9L1"], - vinewhip: ["9L1"], - earthquake: ["9L1"], - bulldoze: ["9L1"], - drillrun: ["9L1"], - stoneedge: ["9L1"], - rockslide: ["9L1"], - rocktomb: ["9L1"], - superpower: ["9L1"], - xscissor: ["9L1"], - lunge: ["9L1"], - skittersmack: ["9L1"], - nightslash: ["9L1"], - shadowclaw: ["9L1"], - slash: ["9L1"], - scratch: ["9L1"], - bodyslam: ["9L1"], - doubleedge: ["9L1"], - leafstorm: ["9L1"], - gigadrain: ["9L1"], - energyball: ["9L1"], - grassknot: ["9L1"], - grasspledge: ["9L1"], - frenzyplant: ["9L1"], - earthpower: ["9L1"], - scorchingsands: ["9L1"], - ancientpower: ["9L1"], - shadowball: ["9L1"], - shoreup: ["9L1"], - stealthrock: ["9L1"], - swordsdance: ["9L1"], - rockpolish: ["9L1"], - spikyshield: ["9L1"], - worryseed: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - safeguard: ["9L1"], - synthesis: ["9L1"], - substitute: ["9L1"], - facade: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - helpinghand: ["9L1"], - crystalcutter: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralshred: ["9L1"], - feralpower: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - krachiten: { - learnset: { - aquacutter: ["9L1"], - focusenergy: ["9L1"], - firstimpression: ["9L1"], - leechlife: ["9L1"], - lunge: ["9L1"], - uturn: ["9L1"], - liquidation: ["9L1"], - superpower: ["9L1"], - crunch: ["9L1"], - psychicfangs: ["9L1"], - rapidspin: ["9L1"], - toxicspikes: ["9L1"], - toxic: ["9L1"], - recover: ["9L1"], - taunt: ["9L1"], - switcheroo: ["9L1"], - calmmind: ["9L1"], - bugbuzz: ["9L1"], - xscissor: ["9L1"], - bugbite: ["9L1"], - skittersmack: ["9L1"], - strugglebug: ["9L1"], - waterfall: ["9L1"], - surf: ["9L1"], - hydropump: ["9L1"], - scald: ["9L1"], - dive: ["9L1"], - bubble: ["9L1"], - waterpulse: ["9L1"], - brine: ["9L1"], - bubblebeam: ["9L1"], - psychocut: ["9L1"], - zenheadbutt: ["9L1"], - psychic: ["9L1"], - poisonjab: ["9L1"], - sludgebomb: ["9L1"], - shadowball: ["9L1"], - shadowclaw: ["9L1"], - darkpulse: ["9L1"], - nightslash: ["9L1"], - bite: ["9L1"], - assurance: ["9L1"], - payback: ["9L1"], - slash: ["9L1"], - scratch: ["9L1"], - weatherball: ["9L1"], - terrainpulse: ["9L1"], - honeclaws: ["9L1"], - lightscreen: ["9L1"], - safeguard: ["9L1"], - aquaring: ["9L1"], - lifedew: ["9L1"], - raindance: ["9L1"], - sunnyday: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - chillingwater: ["9L1"], - icespinner: ["9L1"], - helpinghand: ["9L1"], - quickguard: ["9L1"], - facade: ["9L1"], - haze: ["9L1"], - crystalcutter: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - scalaron: { - learnset: { - haze: ["9L1"], - whirlwind: ["9L1"], - roar: ["9L1"], - hurricane: ["9L1"], - fireblast: ["9L1"], - flamethrower: ["9L1"], - mysticalfire: ["9L1"], - uturn: ["9L1"], - dragontail: ["9L1"], - defog: ["9L1"], - roost: ["9L1"], - toxic: ["9L1"], - willowisp: ["9L1"], - taunt: ["9L1"], - airslash: ["9L1"], - aircutter: ["9L1"], - wingattack: ["9L1"], - gust: ["9L1"], - dualwingbeat: ["9L1"], - aerialace: ["9L1"], - fly: ["9L1"], - acrobatics: ["9L1"], - heatwave: ["9L1"], - flareblitz: ["9L1"], - flamecharge: ["9L1"], - inferno: ["9L1"], - incinerate: ["9L1"], - firefang: ["9L1"], - firespin: ["9L1"], - ember: ["9L1"], - dragonpulse: ["9L1"], - dragonclaw: ["9L1"], - scaleshot: ["9L1"], - darkpulse: ["9L1"], - snarl: ["9L1"], - crunch: ["9L1"], - bite: ["9L1"], - thunderfang: ["9L1"], - shockwave: ["9L1"], - irontail: ["9L1"], - doubleedge: ["9L1"], - crushclaw: ["9L1"], - hyperbeam: ["9L1"], - tailwind: ["9L1"], - dragondance: ["9L1"], - memento: ["9L1"], - meanlook: ["9L1"], - scaryface: ["9L1"], - torment: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - facade: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - helpinghand: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralhealing: ["9L1"], - feralresilience: ["9L1"], - }, - }, - rantler: { - learnset: { - doubleedge: ["9L1"], - facade: ["9L1"], - hyperfang: ["9L1"], - bodyslam: ["9L1"], - quickattack: ["9L1"], - gigaimpact: ["9L1"], - headbutt: ["9L1"], - slash: ["9L1"], - fakeout: ["9L1"], - lastresort: ["9L1"], - retaliate: ["9L1"], - strength: ["9L1"], - scratch: ["9L1"], - iciclecrash: ["9L1"], - icefang: ["9L1"], - iceshard: ["9L1"], - earthquake: ["9L1"], - highhorsepower: ["9L1"], - stompingtantrum: ["9L1"], - superpower: ["9L1"], - brickbreak: ["9L1"], - revenge: ["9L1"], - rocksmash: ["9L1"], - crunch: ["9L1"], - bite: ["9L1"], - payback: ["9L1"], - haze: ["9L1"], - roar: ["9L1"], - assurance: ["9L1"], - thief: ["9L1"], - psychicfangs: ["9L1"], - wildcharge: ["9L1"], - thunderfang: ["9L1"], - megahorn: ["9L1"], - firstimpression: ["9L1"], - ironhead: ["9L1"], - hornleech: ["9L1"], - playrough: ["9L1"], - icebeam: ["9L1"], - blizzard: ["9L1"], - frostbreath: ["9L1"], - freezedry: ["9L1"], - aurorabeam: ["9L1"], - powdersnow: ["9L1"], - hypervoice: ["9L1"], - hyperbeam: ["9L1"], - snarl: ["9L1"], - darkpulse: ["9L1"], - surf: ["9L1"], - waterpulse: ["9L1"], - shockwave: ["9L1"], - mudslap: ["9L1"], - swordsdance: ["9L1"], - bulkup: ["9L1"], - taunt: ["9L1"], - nobleroar: ["9L1"], - workup: ["9L1"], - snowscape: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - auroraveil: ["9L1"], - grassyterrain: ["9L1"], - mistyterrain: ["9L1"], - yawn: ["9L1"], - babydolleyes: ["9L1"], - charm: ["9L1"], - focusenergy: ["9L1"], - howl: ["9L1"], - helpinghand: ["9L1"], - sheercold: ["9L1"], - honeclaws: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - icespinner: ["9L1"], - crystalcutter: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralhealing: ["9L1"], - feralresilience: ["9L1"], - }, - }, - woolora: { - learnset: { - moonblast: ["9L1"], - wildcharge:["9L1"], - healingwish: ["9L1"], - drainingkiss: ["9L1"], - mistyexplosion: ["9L1"], - disarmingvoice: ["9L1"], - mysticalfire: ["9L1"], - facade: ["9L1"], - psychic: ["9L1"], - psyshock: ["9L1"], - storedpower: ["9L1"], - shadowball: ["9L1"], - energyball: ["9L1"], - playrough: ["9L1"], - highhorsepower: ["9L1"], - zenheadbutt: ["9L1"], - bodypress: ["9L1"], - megahorn: ["9L1"], - bounce: ["9L1"], - hyperbeam: ["9L1"], - gigaimpact: ["9L1"], - bodyslam: ["9L1"], - doubleedge: ["9L1"], - takedown: ["9L1"], - retaliate: ["9L1"], - headbutt: ["9L1"], - tackle: ["9L1"], - calmmind: ["9L1"], - moonlight: ["9L1"], - teleport: ["9L1"], - roar: ["9L1"], - wish: ["9L1"], - cottonguard: ["9L1"], - healbell: ["9L1"], - bulkup: ["9L1"], - mistyterrain: ["9L1"], - raindance: ["9L1"], - growl: ["9L1"], - babydolleyes: ["9L1"], - guardswap: ["9L1"], - helpinghand: ["9L1"], - batonpass: ["9L1"], - agility: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralhealing: ["9L1"], - feralresilience: ["9L1"], - }, - }, - albatrygon: { - learnset: { - encore: ["9L1"], - taunt: ["9L1"], - bravebird: ["9L1"], - helpinghand: ["9L1"], - acrobatics: ["9L1"], - beatup: ["9L1"], - drillpeck: ["9L1"], - dualwingbeat: ["9L1"], - fly: ["9L1"], - aerialace: ["9L1"], - pluck: ["9L1"], - peck: ["9L1"], - sacredsword: ["9L1"], - foulplay: ["9L1"], - darkestlariat: ["9L1"], - payback: ["9L1"], - assurance: ["9L1"], - brutalswing: ["9L1"], - thief: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - takedown: ["9L1"], - gigaimpact: ["9L1"], - spikes: ["9L1"], - switcheroo: ["9L1"], - partingshot: ["9L1"], - defog: ["9L1"], - memento: ["9L1"], - featherdance: ["9L1"], - workup: ["9L1"], - smartstrike: ["9L1"], - steelwing: ["9L1"], - growl: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - sandstorm: ["9L1"], - snowscape: ["9L1"], - mistyterrain: ["9L1"], - skillswap: ["9L1"], - screech: ["9L1"], - tailwind: ["9L1"], - wonderroom: ["9L1"], - magicroom: ["9L1"], - mimic: ["9L1"], - allyswitch: ["9L1"], - focusenergy: ["9L1"], - laserfocus: ["9L1"], - tidyup: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - facade: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - whirlwind: ["9L1"], - endure: ["9L1"], - wideguard: ["9L1"], - quickguard: ["9L1"], - uturn: ["9L1"], - crystalcutter: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralresilience: ["9L1"], - feralspray: ["9L1"], - }, - }, - orchile: { - learnset: { - moonblast: ["9L1"], - dazzlinggleam: ["9L1"], - drainingkiss: ["9L1"], - sleeppowder: ["9L1"], - ragepowder: ["9L1"], - beatup: ["9L1"], - sludgebomb: ["9L1"], - clearsmog: ["9L1"], - gigadrain: ["9L1"], - leafstorm: ["9L1"], - energyball: ["9L1"], - earthpower: ["9L1"], - facade: ["9L1"], - mysticalfire: ["9L1"], - psychic: ["9L1"], - shadowball: ["9L1"], - darkpulse: ["9L1"], - strengthsap: ["9L1"], - willowisp: ["9L1"], - spikes: ["9L1"], - toxicspikes: ["9L1"], - toxic: ["9L1"], - stunspore: ["9L1"], - leechseed: ["9L1"], - calmmind: ["9L1"], - aromatherapy: ["9L1"], - synthesis: ["9L1"], - trickroom: ["9L1"], - sludge: ["9L1"], - acid: ["9L1"], - venoshock: ["9L1"], - gunkshot: ["9L1"], - poisonjab: ["9L1"], - crosspoison: ["9L1"], - poisonsting: ["9L1"], - solarbeam: ["9L1"], - grassknot: ["9L1"], - petaldance: ["9L1"], - vinewhip: ["9L1"], - megadrain: ["9L1"], - petalblizzard: ["9L1"], - seedbomb: ["9L1"], - magicalleaf: ["9L1"], - absorb: ["9L1"], - grassyglide: ["9L1"], - razorleaf: ["9L1"], - mudslap: ["9L1"], - dreameater: ["9L1"], - psychocut: ["9L1"], - nightslash: ["9L1"], - payback: ["9L1"], - pollenpuff: ["9L1"], - cut: ["9L1"], - endeavor: ["9L1"], - slash: ["9L1"], - helpinghand: ["9L1"], - wrap: ["9L1"], - bodyslam: ["9L1"], - tackle: ["9L1"], - growth: ["9L1"], - worryseed: ["9L1"], - sweetscent: ["9L1"], - safeguard: ["9L1"], - corrosivegas: ["9L1"], - poisonpowder: ["9L1"], - venomdrench: ["9L1"], - disable: ["9L1"], - curse: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - grassyterrain: ["9L1"], - attract: ["9L1"], - protect: ["9L1"], - substitute: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - snore: ["9L1"], - endure: ["9L1"], - crystalcutter: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralshred: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - embuck: { - learnset: { - flareblitz: ["9L1"], - beatup: ["9L1"], - blazekick: ["9L1"], - closecombat: ["9L1"], - highhorsepower: ["9L1"], - megahorn: ["9L1"], - uturn: ["9L1"], - morningsun: ["9L1"], - bulkup: ["9L1"], - willowisp: ["9L1"], - taunt: ["9L1"], - doublekick: ["9L1"], - tackle: ["9L1"], - growl: ["9L1"], - smokescreen: ["9L1"], - ember: ["9L1"], - sunnyday: ["9L1"], - flamecharge: ["9L1"], - snarl: ["9L1"], - agility: ["9L1"], - inferno: ["9L1"], - superpower: ["9L1"], - aerialace: ["9L1"], - assurance: ["9L1"], - attract: ["9L1"], - bounce: ["9L1"], - confide: ["9L1"], - darkpulse: ["9L1"], - doubleteam: ["9L1"], - echoedvoice: ["9L1"], - endure: ["9L1"], - energyball: ["9L1"], - facade: ["9L1"], - falseswipe: ["9L1"], - fly: ["9L1"], - focusblast: ["9L1"], - frustration: ["9L1"], - gigaimpact: ["9L1"], - heatwave: ["9L1"], - hyperbeam: ["9L1"], - incinerate: ["9L1"], - laserfocus: ["9L1"], - nastyplot: ["9L1"], - protect: ["9L1"], - raindance: ["9L1"], - rest: ["9L1"], - return: ["9L1"], - round: ["9L1"], - sleeptalk: ["9L1"], - snore: ["9L1"], - solarbeam: ["9L1"], - substitute: ["9L1"], - swagger: ["9L1"], - swordsdance: ["9L1"], - thief: ["9L1"], - throatchop: ["9L1"], - uproar: ["9L1"], - wildcharge:["9L1"], - workup: ["9L1"], - fireblast: ["9L1"], - flamethrower: ["9L1"], - helpinghand: ["9L1"], - aurasphere: ["9L1"], - vacuumwave: ["9L1"], - crystalbash: ["9L1"], - crystalcage: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - cindoe: { - learnset: { - fierywrath: ["9L1"], - overheat: ["9L1"], - beatup: ["9L1"], - fireblast: ["9L1"], - flamethrower: ["9L1"], - mysticalfire: ["9L1"], - psychic: ["9L1"], - nastyplot: ["9L1"], - calmmind: ["9L1"], - morningsun: ["9L1"], - taunt: ["9L1"], - moonlight: ["9L1"], - tackle: ["9L1"], - growl: ["9L1"], - smokescreen: ["9L1"], - ember: ["9L1"], - agility: ["9L1"], - inferno: ["9L1"], - blazekick: ["9L1"], - darkpulse: ["9L1"], - partingshot: ["9L1"], - aerialace: ["9L1"], - assurance: ["9L1"], - attract: ["9L1"], - bounce: ["9L1"], - confide: ["9L1"], - doubleteam: ["9L1"], - echoedvoice: ["9L1"], - endure: ["9L1"], - energyball: ["9L1"], - facade: ["9L1"], - falseswipe: ["9L1"], - focusblast: ["9L1"], - frustration: ["9L1"], - gigaimpact: ["9L1"], - incinerate: ["9L1"], - heatwave: ["9L1"], - hyperbeam: ["9L1"], - laserfocus: ["9L1"], - protect: ["9L1"], - raindance: ["9L1"], - rest: ["9L1"], - return: ["9L1"], - round: ["9L1"], - sleeptalk: ["9L1"], - snarl: ["9L1"], - snore: ["9L1"], - solarbeam: ["9L1"], - substitute: ["9L1"], - sunnyday: ["9L1"], - swagger: ["9L1"], - swordsdance: ["9L1"], - thief: ["9L1"], - throatchop: ["9L1"], - uproar: ["9L1"], - helpinghand: ["9L1"], - uturn: ["9L1"], - wildcharge:["9L1"], - willowisp: ["9L1"], - workup: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - cobracotta: { - learnset: { - powerwhip: ["9L1"], - toxic: ["9L1"], - petalblizzard: ["9L1"], - seedbomb: ["9L1"], - bulletseed: ["9L1"], - grassyglide: ["9L1"], - razorleaf: ["9L1"], - gunkshot: ["9L1"], - poisonjab: ["9L1"], - poisonfang: ["9L1"], - poisonsting: ["9L1"], - earthquake: ["9L1"], - bulldoze: ["9L1"], - stoneedge: ["9L1"], - rockslide: ["9L1"], - rocktomb: ["9L1"], - rockblast: ["9L1"], - rollout: ["9L1"], - knockoff: ["9L1"], - suckerpunch: ["9L1"], - crunch: ["9L1"], - bite: ["9L1"], - brutalswing: ["9L1"], - payback: ["9L1"], - thief: ["9L1"], - psychicfangs: ["9L1"], - rocksmash: ["9L1"], - revenge: ["9L1"], - bodyslam: ["9L1"], - gigaimpact: ["9L1"], - wrap: ["9L1"], - gigadrain: ["9L1"], - energyball: ["9L1"], - leafstorm: ["9L1"], - grassknot: ["9L1"], - solarbeam: ["9L1"], - megadrain: ["9L1"], - petaldance: ["9L1"], - sludgebomb: ["9L1"], - venoshock: ["9L1"], - sludge: ["9L1"], - acid: ["9L1"], - acidspray: ["9L1"], - belch: ["9L1"], - darkpulse: ["9L1"], - earthpower: ["9L1"], - ancientpower: ["9L1"], - sweetscent: ["9L1"], - naturepower: ["9L1"], - hyperbeam: ["9L1"], - shellsmash: ["9L1"], - coil: ["9L1"], - glare: ["9L1"], - nastyplot: ["9L1"], - stealthrock: ["9L1"], - synthesis: ["9L1"], - leechseed: ["9L1"], - spitup: ["9L1"], - stockpile: ["9L1"], - swallow: ["9L1"], - focusenergy: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - sandstorm: ["9L1"], - grassyterrain: ["9L1"], - laserfocus: ["9L1"], - helpinghand: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - facade: ["9L1"], - dragontail: ["9L1"], - crystaltail: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - minillow: { - learnset: { - haze: ["9L1"], - hydropump: ["9L1"], - surf: ["9L1"], - scald: ["9L1"], - chillingwater: ["9L1"], - moonblast: ["9L1"], - nastyplot: ["9L1"], - drainingkiss: ["9L1"], - mistyexplosion: ["9L1"], - icebeam: ["9L1"], - psychic: ["9L1"], - flipturn: ["9L1"], - moonlight: ["9L1"], - bubble: ["9L1"], - tailwhip: ["9L1"], - babydolleyes: ["9L1"], - aquajet: ["9L1"], - aquaring: ["9L1"], - bubblebeam: ["9L1"], - soak: ["9L1"], - waterfall: ["9L1"], - agility: ["9L1"], - dazzlinggleam: ["9L1"], - attract: ["9L1"], - blizzard: ["9L1"], - bodyslam: ["9L1"], - bounce: ["9L1"], - dive: ["9L1"], - doubleteam: ["9L1"], - drillrun: ["9L1"], - helpinghand: ["9L1"], - endure: ["9L1"], - facade: ["9L1"], - gigaimpact: ["9L1"], - snowscape: ["9L1"], - hyperbeam: ["9L1"], - icywind: ["9L1"], - muddywater: ["9L1"], - mudshot: ["9L1"], - poisonjab: ["9L1"], - protect: ["9L1"], - raindance: ["9L1"], - rest: ["9L1"], - round: ["9L1"], - scaleshot: ["9L1"], - shadowball: ["9L1"], - sleeptalk: ["9L1"], - snore: ["9L1"], - substitute: ["9L1"], - swagger: ["9L1"], - swift: ["9L1"], - waterpulse: ["9L1"], - whirlpool: ["9L1"], - zenheadbutt: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - feralbite: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - followme: ["9L1"], - }, - }, - crossont: { - learnset: { - recover: ["9L1"], - megahorn: ["9L1"], - pinmissile: ["9L1"], - attackorder: ["9L1"], - closecombat: ["9L1"], - superpower: ["9L1"], - rockblast: ["9L1"], - circlethrow: ["9L1"], - knockoff: ["9L1"], - earthquake: ["9L1"], - stoneedge: ["9L1"], - spiritshackle: ["9L1"], - spikes: ["9L1"], - bulkup: ["9L1"], - focusenergy: ["9L1"], - submission: ["9L1"], - astonish: ["9L1"], - defensecurl: ["9L1"], - strugglebug: ["9L1"], - fling: ["9L1"], - armthrust: ["9L1"], - lockon: ["9L1"], - bulletseed: ["9L1"], - dynamicpunch: ["9L1"], - laserfocus: ["9L1"], - crosschop: ["9L1"], - wideguard: ["9L1"], - finalgambit: ["9L1"], - aerialace: ["9L1"], - attract: ["9L1"], - brickbreak: ["9L1"], - bugbite: ["9L1"], - bugbuzz: ["9L1"], - bulldoze: ["9L1"], - confide: ["9L1"], - covet: ["9L1"], - doubleteam: ["9L1"], - endeavor: ["9L1"], - endure: ["9L1"], - facade: ["9L1"], - fakeout: ["9L1"], - firepunch: ["9L1"], - focusblast: ["9L1"], - focuspunch: ["9L1"], - frustration: ["9L1"], - gigaimpact: ["9L1"], - gunkshot: ["9L1"], - helpinghand: ["9L1"], - hyperbeam: ["9L1"], - icepunch: ["9L1"], - lowkick: ["9L1"], - lowsweep: ["9L1"], - outrage: ["9L1"], - payback: ["9L1"], - poweruppunch: ["9L1"], - protect: ["9L1"], - raindance: ["9L1"], - rest: ["9L1"], - return: ["9L1"], - rockclimb: ["9L1"], - rockslide: ["9L1"], - rocksmash: ["9L1"], - rocktomb: ["9L1"], - roleplay: ["9L1"], - round: ["9L1"], - seedbomb: ["9L1"], - sleeptalk: ["9L1"], - smackdown: ["9L1"], - snore: ["9L1"], - spite: ["9L1"], - stompingtantrum: ["9L1"], - strength: ["9L1"], - substitute: ["9L1"], - sunnyday: ["9L1"], - swagger: ["9L1"], - taunt: ["9L1"], - thief: ["9L1"], - throatchop: ["9L1"], - thunderpunch: ["9L1"], - uproar: ["9L1"], - workup: ["9L1"], - xscissor: ["9L1"], - axekick: ["9L1"], - crystalcutter: ["9L1"], - crystalbash: ["9L1"], - crystalcage: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralresilience: ["9L1"], - }, - }, - torgeist: { - learnset: { - shadowball: ["9L1"], - facade: ["9L1"], - hex: ["9L1"], - ominouswind: ["9L1"], - boomburst: ["9L1"], - hypervoice: ["9L1"], - triattack: ["9L1"], - hyperbeam: ["9L1"], - hurricane: ["9L1"], - airslash: ["9L1"], - weatherball: ["9L1"], - heatwave: ["9L1"], - icywind: ["9L1"], - darkpulse: ["9L1"], - shockwave: ["9L1"], - uturn: ["9L1"], - poltergeist: ["9L1"], - shadowsneak: ["9L1"], - phantomforce: ["9L1"], - astonish: ["9L1"], - dualwingbeat: ["9L1"], - acrobatics: ["9L1"], - suckerpunch: ["9L1"], - foulplay: ["9L1"], - thief: ["9L1"], - payback: ["9L1"], - headbutt: ["9L1"], - wrap: ["9L1"], - doubleedge: ["9L1"], - painsplit: ["9L1"], - trick: ["9L1"], - taunt: ["9L1"], - nastyplot: ["9L1"], - calmmind: ["9L1"], - willowisp: ["9L1"], - toxicthread: ["9L1"], - tailwind: ["9L1"], - defog: ["9L1"], - raindance: ["9L1"], - disable: ["9L1"], - workup: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - meanlook: ["9L1"], - perishsong: ["9L1"], - metalsound: ["9L1"], - gust: ["9L1"], - haze: ["9L1"], - screech: ["9L1"], - imprison: ["9L1"], - destinybond: ["9L1"], - memento: ["9L1"], - magiccoat: ["9L1"], - sunnyday: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralhealing: ["9L1"], - }, - }, - platypad: { - learnset: { - revivalblessing: ["9L1"], - wavecrash: ["9L1"], - wish: ["9L1"], - gigadrain: ["9L1"], - leafstorm: ["9L1"], - sludgebomb: ["9L1"], - weatherball: ["9L1"], - hydropump: ["9L1"], - scald: ["9L1"], - shadowball: ["9L1"], - flipturn: ["9L1"], - dragontail: ["9L1"], - poisonjab: ["9L1"], - petalblizzard: ["9L1"], - earthquake: ["9L1"], - slackoff: ["9L1"], - spikes: ["9L1"], - toxicspikes: ["9L1"], - roar: ["9L1"], - toxic: ["9L1"], - aromatherapy: ["9L1"], - haze: ["9L1"], - leechseed: ["9L1"], - stunspore: ["9L1"], - bellydrum: ["9L1"], - venoshock: ["9L1"], - sludgewave: ["9L1"], - poisonsting: ["9L1"], - crosspoison: ["9L1"], - poisontail: ["9L1"], - solarbeam: ["9L1"], - energyball: ["9L1"], - grassknot: ["9L1"], - magicalleaf: ["9L1"], - seedbomb: ["9L1"], - bulletseed: ["9L1"], - grassyglide: ["9L1"], - megadrain: ["9L1"], - absorb: ["9L1"], - aquatail: ["9L1"], - liquidation: ["9L1"], - surf: ["9L1"], - whirlpool: ["9L1"], - icywind: ["9L1"], - zenheadbutt: ["9L1"], - extrasensory: ["9L1"], - bulldoze: ["9L1"], - stompingtantrum: ["9L1"], - rockslide: ["9L1"], - rollout: ["9L1"], - outrage: ["9L1"], - shockwave: ["9L1"], - drainingkiss: ["9L1"], - nightshade: ["9L1"], - shadowclaw: ["9L1"], - wildcharge: ["9L1"], - payback: ["9L1"], - assurance: ["9L1"], - fling: ["9L1"], - pollenpuff: ["9L1"], - doubleedge: ["9L1"], - hyperbeam: ["9L1"], - gigaimpact: ["9L1"], - bodyslam: ["9L1"], - covet: ["9L1"], - hypervoice: ["9L1"], - uproar: ["9L1"], - tackle: ["9L1"], - curse: ["9L1"], - moonlight: ["9L1"], - venomdrench: ["9L1"], - poisonpowder: ["9L1"], - yawn: ["9L1"], - defensecurl: ["9L1"], - attract: ["9L1"], - afteryou: ["9L1"], - charm: ["9L1"], - psychup: ["9L1"], - lifedew: ["9L1"], - amnesia: ["9L1"], - stockpile: ["9L1"], - swallow: ["9L1"], - spitup: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - snowscape: ["9L1"], - sandstorm: ["9L1"], - grassyterrain: ["9L1"], - safeguard: ["9L1"], - wideguard: ["9L1"], - block: ["9L1"], - helpinghand: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - facade: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - chillingwater: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralhealing: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - }, - }, - lumoth: { - learnset: { - shadowball: ["9L1"], - hex: ["9L1"], - psychic: ["9L1"], - psyshock: ["9L1"], - bugbuzz: ["9L1"], - energyball: ["9L1"], - gigadrain: ["9L1"], - thunderbolt: ["9L1"], - thunder: ["9L1"], - quiverdance: ["9L1"], - willowisp: ["9L1"], - sleeppowder: ["9L1"], - defog: ["9L1"], - astonish: ["9L1"], - leer: ["9L1"], - infestation: ["9L1"], - stringshot: ["9L1"], - silverwind: ["9L1"], - psybeam: ["9L1"], - ragepowder: ["9L1"], - calmmind: ["9L1"], - expandingforce: ["9L1"], - allyswitch: ["9L1"], - chargebeam: ["9L1"], - confide: ["9L1"], - covet: ["9L1"], - darkpulse: ["9L1"], - doubleteam: ["9L1"], - dreameater: ["9L1"], - embargo: ["9L1"], - facade: ["9L1"], - frustration: ["9L1"], - grassknot: ["9L1"], - gravity: ["9L1"], - hyperbeam: ["9L1"], - laserfocus: ["9L1"], - lastresort: ["9L1"], - lightscreen: ["9L1"], - magiccoat: ["9L1"], - magicroom: ["9L1"], - protect: ["9L1"], - psychup: ["9L1"], - raindance: ["9L1"], - reflect: ["9L1"], - rest: ["9L1"], - return: ["9L1"], - round: ["9L1"], - safeguard: ["9L1"], - shockwave: ["9L1"], - signalbeam: ["9L1"], - skillswap: ["9L1"], - sleeptalk: ["9L1"], - snatch: ["9L1"], - snore: ["9L1"], - strugglebug: ["9L1"], - substitute: ["9L1"], - sunnyday: ["9L1"], - swagger: ["9L1"], - haze: ["9L1"], - telekinesis: ["9L1"], - thunderwave: ["9L1"], - torment: ["9L1"], - helpinghand: ["9L1"], - trick: ["9L1"], - trickroom: ["9L1"], - uturn: ["9L1"], - wonderroom: ["9L1"], - zenheadbutt: ["9L1"], - silktrap: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - }, - }, - aurorowl: { - learnset: { - haze: ["9L1"], - frostbreath: ["9L1"], - dualwingbeat: ["9L1"], - icebeam: ["9L1"], - aircutter: ["9L1"], - hurricane: ["9L1"], - airslash: ["9L1"], - focusblast: ["9L1"], - iceshard: ["9L1"], - tripleaxel: ["9L1"], - aerialace: ["9L1"], - bravebird: ["9L1"], - uturn: ["9L1"], - nastyplot: ["9L1"], - sheercold: ["9L1"], - roost: ["9L1"], - defog: ["9L1"], - icywind: ["9L1"], - tackle: ["9L1"], - sandattack: ["9L1"], - gust: ["9L1"], - quickattack: ["9L1"], - whirlwind: ["9L1"], - featherdance: ["9L1"], - aurorabeam: ["9L1"], - attract: ["9L1"], - blizzard: ["9L1"], - confide: ["9L1"], - doubleteam: ["9L1"], - endure: ["9L1"], - facade: ["9L1"], - fly: ["9L1"], - frustration: ["9L1"], - gigaimpact: ["9L1"], - snowscape: ["9L1"], - hyperbeam: ["9L1"], - laserfocus: ["9L1"], - pluck: ["9L1"], - protect: ["9L1"], - raindance: ["9L1"], - rest: ["9L1"], - return: ["9L1"], - round: ["9L1"], - skyattack: ["9L1"], - sleeptalk: ["9L1"], - snore: ["9L1"], - steelwing: ["9L1"], - substitute: ["9L1"], - sunnyday: ["9L1"], - swagger: ["9L1"], - tailwind: ["9L1"], - thief: ["9L1"], - uproar: ["9L1"], - workup: ["9L1"], - crystalcutter: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - }, - }, - carapex: { - learnset: { - acrobatics: ["9L1"], - tailwind: ["9L1"], - megahorn: ["9L1"], - uturn: ["9L1"], - dualwingbeat: ["9L1"], - bodypress: ["9L1"], - knockoff: ["9L1"], - earthquake: ["9L1"], - stoneedge: ["9L1"], - stealthrock: ["9L1"], - defog: ["9L1"], - roost: ["9L1"], - irondefense: ["9L1"], - whirlwind: ["9L1"], - tackle: ["9L1"], - defensecurl: ["9L1"], - endure: ["9L1"], - rollout: ["9L1"], - furycutter: ["9L1"], - batonpass: ["9L1"], - reversal: ["9L1"], - bugbuzz: ["9L1"], - aerialace: ["9L1"], - airslash: ["9L1"], - allyswitch: ["9L1"], - attract: ["9L1"], - brutalswing: ["9L1"], - cut: ["9L1"], - dig: ["9L1"], - doubleteam: ["9L1"], - echoedvoice: ["9L1"], - energyball: ["9L1"], - facade: ["9L1"], - fly: ["9L1"], - frustration: ["9L1"], - gigadrain: ["9L1"], - helpinghand: ["9L1"], - hurricane: ["9L1"], - lastresort: ["9L1"], - leechlife: ["9L1"], - protect: ["9L1"], - raindance: ["9L1"], - rest: ["9L1"], - return: ["9L1"], - round: ["9L1"], - shadowball: ["9L1"], - shadowclaw: ["9L1"], - sleeptalk: ["9L1"], - snore: ["9L1"], - substitute: ["9L1"], - sunnyday: ["9L1"], - swagger: ["9L1"], - thief: ["9L1"], - uproar: ["9L1"], - workup: ["9L1"], - crystalcutter: ["9L1"], - crystalbash: ["9L1"], - crystalcage: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - wideguard: ["9L1"], - }, - }, - dojodo: { - learnset: { - highjumpkick: ["9L1"], - closecombat: ["9L1"], - drainpunch: ["9L1"], - bodypress: ["9L1"], - knockoff: ["9L1"], - icepunch: ["9L1"], - firepunch: ["9L1"], - thunderpunch: ["9L1"], - poisonjab: ["9L1"], - stompingtantrum: ["9L1"], - bravebird: ["9L1"], - bulkup: ["9L1"], - swordsdance: ["9L1"], - irondefense: ["9L1"], - taunt: ["9L1"], - coaching: ["9L1"], - peck: ["9L1"], - sandattack: ["9L1"], - armthrust: ["9L1"], - fakeout: ["9L1"], - forcepalm: ["9L1"], - whirlwind: ["9L1"], - brickbreak: ["9L1"], - batonpass: ["9L1"], - detect: ["9L1"], - jumpkick: ["9L1"], - drillpeck: ["9L1"], - matblock: ["9L1"], - reversal: ["9L1"], - gigaimpact: ["9L1"], - attract: ["9L1"], - confide: ["9L1"], - dig: ["9L1"], - dualwingbeat: ["9L1"], - doubleteam: ["9L1"], - endure: ["9L1"], - facade: ["9L1"], - featherdance: ["9L1"], - fling: ["9L1"], - focusblast: ["9L1"], - focuspunch: ["9L1"], - frustration: ["9L1"], - helpinghand: ["9L1"], - hyperbeam: ["9L1"], - ironhead: ["9L1"], - beatup: ["9L1"], - lowkick: ["9L1"], - lowsweep: ["9L1"], - payback: ["9L1"], - pluck: ["9L1"], - poweruppunch: ["9L1"], - protect: ["9L1"], - raindance: ["9L1"], - rest: ["9L1"], - return: ["9L1"], - rocksmash: ["9L1"], - roleplay: ["9L1"], - round: ["9L1"], - sleeptalk: ["9L1"], - snore: ["9L1"], - strength: ["9L1"], - substitute: ["9L1"], - sunnyday: ["9L1"], - superpower: ["9L1"], - swagger: ["9L1"], - throatchop: ["9L1"], - workup: ["9L1"], - jetpunch: ["9L1"], - quickguard: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalfortification: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralhealing: ["9L1"], - feralbreath: ["9L1"], - feralresilience: ["9L1"], - }, - }, - nunopod: { - learnset: { - lunge: ["9L1"], - beatup: ["9L1"], - leechlife: ["9L1"], - firstimpression: ["9L1"], - xscissor: ["9L1"], - furycutter: ["9L1"], - bugbite: ["9L1"], - earthquake: ["9L1"], - highhorsepower: ["9L1"], - stompingtantrum: ["9L1"], - bulldoze: ["9L1"], - dig: ["9L1"], - tripleaxel: ["9L1"], - highjumpkick: ["9L1"], - bodypress: ["9L1"], - rollingkick: ["9L1"], - brickbreak: ["9L1"], - tropkick: ["9L1"], - flipturn: ["9L1"], - zenheadbutt: ["9L1"], - ironhead: ["9L1"], - brutalswing: ["9L1"], - payback: ["9L1"], - blazekick: ["9L1"], - acrobatics: ["9L1"], - rapidspin: ["9L1"], - megakick: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - headbutt: ["9L1"], - pound: ["9L1"], - bugbuzz: ["9L1"], - strugglebug: ["9L1"], - earthpower: ["9L1"], - scorchingsands: ["9L1"], - energyball: ["9L1"], - gigadrain: ["9L1"], - solarbeam: ["9L1"], - surf: ["9L1"], - shadowball: ["9L1"], - extrasensory: ["9L1"], - recover: ["9L1"], - stealthrock: ["9L1"], - workup: ["9L1"], - toxic: ["9L1"], - swordsdance: ["9L1"], - acidarmor: ["9L1"], - trickroom: ["9L1"], - rototiller: ["9L1"], - safeguard: ["9L1"], - sandstorm: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - grassyterrain: ["9L1"], - mistyterrain: ["9L1"], - psychicterrain: ["9L1"], - electricterrain: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - facade: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - helpinghand: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - zeploom: { - learnset: { - scorchingsands: ["9L1"], - facade: ["9L1"], - earthpower: ["9L1"], - mudslap: ["9L1"], - mudbomb: ["9L1"], - mudshot: ["9L1"], - energysiphon: ["9L1"], - gigadrain: ["9L1"], - energyball: ["9L1"], - leafstorm: ["9L1"], - grassknot: ["9L1"], - megadrain: ["9L1"], - nightshade: ["9L1"], - shadowball: ["9L1"], - hex: ["9L1"], - clearsmog: ["9L1"], - sludgebomb: ["9L1"], - acidspray: ["9L1"], - darkpulse: ["9L1"], - leafblade: ["9L1"], - seedbomb: ["9L1"], - bulletseed: ["9L1"], - earthquake: ["9L1"], - uturn: ["9L1"], - gunkshot: ["9L1"], - poisonjab: ["9L1"], - acrobatics: ["9L1"], - aerialace: ["9L1"], - bounce: ["9L1"], - wrap: ["9L1"], - bodyslam: ["9L1"], - doubleedge: ["9L1"], - explosion: ["9L1"], - selfdestruct: ["9L1"], - pound: ["9L1"], - spore: ["9L1"], - synthesis: ["9L1"], - stealthrock: ["9L1"], - defog: ["9L1"], - toxic: ["9L1"], - encore: ["9L1"], - stunspore: ["9L1"], - memento: ["9L1"], - workup: ["9L1"], - leechseed: ["9L1"], - toxicthread: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - sandstorm: ["9L1"], - grassyterrain: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - ragepowder: ["9L1"], - crystalbash: ["9L1"], - crystalcage: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralshred: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - brawnkey: { - learnset: { - bodypress: ["9L1"], - facade: ["9L1"], - beatup: ["9L1"], - closecombat: ["9L1"], - drainpunch: ["9L1"], - rocksmash: ["9L1"], - submission: ["9L1"], - revenge: ["9L1"], - brickbreak: ["9L1"], - crosschop: ["9L1"], - karatechop: ["9L1"], - poweruppunch: ["9L1"], - vitalthrow: ["9L1"], - ironhead: ["9L1"], - heavyslam: ["9L1"], - steelroller: ["9L1"], - smartstrike: ["9L1"], - earthquake: ["9L1"], - highhorsepower: ["9L1"], - bulldoze: ["9L1"], - stompingtantrum: ["9L1"], - rockslide: ["9L1"], - rocktomb: ["9L1"], - payback: ["9L1"], - thief: ["9L1"], - assurance: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - megakick: ["9L1"], - slam: ["9L1"], - gigaimpact: ["9L1"], - bind: ["9L1"], - pound: ["9L1"], - aurasphere: ["9L1"], - focusblast: ["9L1"], - vacuumwave: ["9L1"], - flashcannon: ["9L1"], - mirrorshot: ["9L1"], - mirrorcoat: ["9L1"], - psychic: ["9L1"], - psyshock: ["9L1"], - storedpower: ["9L1"], - shadowball: ["9L1"], - darkpulse: ["9L1"], - hypervoice: ["9L1"], - hyperbeam: ["9L1"], - triattack: ["9L1"], - irondefense: ["9L1"], - bulkup: ["9L1"], - stealthrock: ["9L1"], - spikes: ["9L1"], - calmmind: ["9L1"], - magiccoat: ["9L1"], - coaching: ["9L1"], - wideguard: ["9L1"], - workup: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - sandstorm: ["9L1"], - snowscape: ["9L1"], - psychicterrain: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - chillyreception: ["9L1"], - crystalcutter: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralhealing: ["9L1"], - feralresilience: ["9L1"], - }, - }, - salamalix: { - learnset: { - accelerock: ["9L1"], - stoneedge: ["9L1"], - beatup: ["9L1"], - rockslide: ["9L1"], - rockblast: ["9L1"], - rocktomb: ["9L1"], - rockthrow: ["9L1"], - rockpolish: ["9L1"], - ironhead: ["9L1"], - bulletpunch: ["9L1"], - irontail: ["9L1"], - metalclaw: ["9L1"], - earthquake: ["9L1"], - stompingtantrum: ["9L1"], - bulldoze: ["9L1"], - closecombat: ["9L1"], - superpower: ["9L1"], - bodypress: ["9L1"], - rocksmash: ["9L1"], - poweruppunch: ["9L1"], - revenge: ["9L1"], - brickbreak: ["9L1"], - crunch: ["9L1"], - bite: ["9L1"], - payback: ["9L1"], - assurance: ["9L1"], - psychicfangs: ["9L1"], - zenheadbutt: ["9L1"], - firefang: ["9L1"], - thunderfang: ["9L1"], - outrage: ["9L1"], - dragonhammer: ["9L1"], - dragontail: ["9L1"], - acrobatics: ["9L1"], - aerialace: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - headbutt: ["9L1"], - retaliate: ["9L1"], - gigaimpact: ["9L1"], - stealthrock: ["9L1"], - spikes: ["9L1"], - swordsdance: ["9L1"], - bulkup: ["9L1"], - taunt: ["9L1"], - torment: ["9L1"], - scaryface: ["9L1"], - workup: ["9L1"], - irondefense: ["9L1"], - defensecurl: ["9L1"], - sandstorm: ["9L1"], - snowscape: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - focusenergy: ["9L1"], - laserfocus: ["9L1"], - honeclaws: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - roar: ["9L1"], - wideguard: ["9L1"], - crystaltail: ["9L1"], - crystalbash: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralbreath: ["9L1"], - feralhealing: ["9L1"], - feralresilience: ["9L1"], - }, - }, - cinnastar: { - learnset: { - sludgebomb: ["9L1"], - sludgewave: ["9L1"], - focusblast: ["9L1"], - clearsmog: ["9L1"], - poisonjab: ["9L1"], - powergem: ["9L1"], - stoneedge: ["9L1"], - rockblast: ["9L1"], - rockslide: ["9L1"], - earthquake: ["9L1"], - earthpower: ["9L1"], - toxic: ["9L1"], - recover: ["9L1"], - stealthrock: ["9L1"], - wish: ["9L1"], - haze: ["9L1"], - corrosivegas: ["9L1"], - sludge: ["9L1"], - acid: ["9L1"], - acidspray: ["9L1"], - venoshock: ["9L1"], - rocktomb: ["9L1"], - rollout: ["9L1"], - rockthrow: ["9L1"], - meteorbeam: ["9L1"], - ancientpower: ["9L1"], - sandtomb: ["9L1"], - magnitude: ["9L1"], - mudslap: ["9L1"], - dazzlinggleam: ["9L1"], - drainingkiss: ["9L1"], - psychic: ["9L1"], - psychocut: ["9L1"], - flashcannon: ["9L1"], - smartstrike: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - takedown: ["9L1"], - explosion: ["9L1"], - lightscreen: ["9L1"], - flash: ["9L1"], - afteryou: ["9L1"], - guardsplit: ["9L1"], - guardswap: ["9L1"], - skillswap: ["9L1"], - powertrick: ["9L1"], - harden: ["9L1"], - irondefense: ["9L1"], - acidarmor: ["9L1"], - safeguard: ["9L1"], - wonderroom: ["9L1"], - sandstorm: ["9L1"], - raindance: ["9L1"], - sunnyday: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralhealing: ["9L1"], - feralresilience: ["9L1"], - mortalspin: ["9L1"], - }, - }, - muabboa: { - learnset: { - earthquake: ["9L1"], - highhorsepower: ["9L1"], - stompingtantrum: ["9L1"], - bulldoze: ["9L1"], - closecombat: ["9L1"], - superpower: ["9L1"], - sacredsword: ["9L1"], - highjumpkick: ["9L1"], - machpunch: ["9L1"], - brickbreak: ["9L1"], - crosschop: ["9L1"], - karatechop: ["9L1"], - poweruppunch: ["9L1"], - rocksmash: ["9L1"], - submission: ["9L1"], - vitalthrow: ["9L1"], - revenge: ["9L1"], - uturn: ["9L1"], - xscissor: ["9L1"], - knockoff: ["9L1"], - nightslash: ["9L1"], - payback: ["9L1"], - assurance: ["9L1"], - thief: ["9L1"], - leafblade: ["9L1"], - rockslide: ["9L1"], - rocktomb: ["9L1"], - acrobatics: ["9L1"], - aerialace: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - slash: ["9L1"], - gigaimpact: ["9L1"], - quickattack: ["9L1"], - fakeout: ["9L1"], - smartstrike: ["9L1"], - zenheadbutt: ["9L1"], - aurasphere: ["9L1"], - focusblast: ["9L1"], - earthpower: ["9L1"], - scorchingsands: ["9L1"], - shadowball: ["9L1"], - hypervoice: ["9L1"], - hyperbeam: ["9L1"], - swordsdance: ["9L1"], - encore: ["9L1"], - switcheroo: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - sandstorm: ["9L1"], - grassyterrain: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - quickguard: ["9L1"], - crystaltail: ["9L1"], - crystalhealing: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralresilience: ["9L1"], - }, - }, - volvolpa: { - learnset: { - volttackle: ["9L1"], - wildcharge: ["9L1"], - helpinghand: ["9L1"], - thunderfang: ["9L1"], - spark: ["9L1"], - hyperfang: ["9L1"], - bodyslam: ["9L1"], - doubleedge: ["9L1"], - slash: ["9L1"], - scratch: ["9L1"], - quickattack: ["9L1"], - gigaimpact: ["9L1"], - icefang: ["9L1"], - crunch: ["9L1"], - uturn: ["9L1"], - acrobatics: ["9L1"], - aerialace: ["9L1"], - tackle: ["9L1"], - takedown: ["9L1"], - thunder: ["9L1"], - thunderbolt: ["9L1"], - voltswitch: ["9L1"], - chargebeam: ["9L1"], - discharge: ["9L1"], - risingvoltage: ["9L1"], - shockwave: ["9L1"], - electroweb: ["9L1"], - electroball: ["9L1"], - thundershock: ["9L1"], - hypervoice: ["9L1"], - triattack: ["9L1"], - hyperbeam: ["9L1"], - icebeam: ["9L1"], - blizzard: ["9L1"], - frostbreath: ["9L1"], - darkpulse: ["9L1"], - snarl: ["9L1"], - thunderwave: ["9L1"], - sheercold: ["9L1"], - agility: ["9L1"], - eerieimpulse: ["9L1"], - workup: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - snowscape: ["9L1"], - electricterrain: ["9L1"], - tailwhip: ["9L1"], - screech: ["9L1"], - magnetrise: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - roar: ["9L1"], - icespinner: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralresilience: ["9L1"], - }, - }, - harzodia: { - learnset: { - allyswitch: ["9L1"], - solarbeam: ["9L1"], - helpinghand: ["9L1"], - psychic: ["9L1"], - psyshock: ["9L1"], - meteorbeam: ["9L1"], - shadowball: ["9L1"], - aurasphere: ["9L1"], - focusblast: ["9L1"], - dazzlinggleam: ["9L1"], - thunderbolt: ["9L1"], - calmmind: ["9L1"], - trick: ["9L1"], - agility: ["9L1"], - recover: ["9L1"], - thunderwave: ["9L1"], - healbell: ["9L1"], - futuresight: ["9L1"], - expandingforce: ["9L1"], - storedpower: ["9L1"], - dreameater: ["9L1"], - psybeam: ["9L1"], - confusion: ["9L1"], - zenheadbutt: ["9L1"], - thunder: ["9L1"], - chargebeam: ["9L1"], - shockwave: ["9L1"], - zapcannon: ["9L1"], - fling: ["9L1"], - hypervoice: ["9L1"], - bodyslam: ["9L1"], - headbutt: ["9L1"], - hyperbeam: ["9L1"], - teleport: ["9L1"], - reflect: ["9L1"], - lightscreen: ["9L1"], - disable: ["9L1"], - eerieimpulse: ["9L1"], - gravity: ["9L1"], - healpulse: ["9L1"], - imprison: ["9L1"], - laserfocus: ["9L1"], - magicroom: ["9L1"], - metronome: ["9L1"], - mimic: ["9L1"], - psychicterrain: ["9L1"], - psychoshift: ["9L1"], - psychup: ["9L1"], - recycle: ["9L1"], - safeguard: ["9L1"], - speedswap: ["9L1"], - swift: ["9L1"], - trickroom: ["9L1"], - wish: ["9L1"], - wonderroom: ["9L1"], - raindance: ["9L1"], - sunnyday: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - quickguard: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralhealing: ["9L1"], - }, - }, - cyllindrake: { - learnset: { - spinout: ["9L1"], - heavyslam: ["9L1"], - stealthrock: ["9L1"], - steelroller: ["9L1"], - ironhead: ["9L1"], - metalclaw: ["9L1"], - dragonclaw: ["9L1"], - outrage: ["9L1"], - scaleshot: ["9L1"], - dragontail: ["9L1"], - dragonrush: ["9L1"], - highhorsepower: ["9L1"], - bulldoze: ["9L1"], - stompingtantrum: ["9L1"], - rockslide: ["9L1"], - rocktomb: ["9L1"], - smackdown: ["9L1"], - rollout: ["9L1"], - superpower: ["9L1"], - bodypress: ["9L1"], - brickbreak: ["9L1"], - crunch: ["9L1"], - bite: ["9L1"], - payback: ["9L1"], - assurance: ["9L1"], - firstimpression: ["9L1"], - uturn: ["9L1"], - wildcharge: ["9L1"], - thunderfang: ["9L1"], - firefang: ["9L1"], - heatcrash: ["9L1"], - flareblitz: ["9L1"], - rapidspin: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - headbutt: ["9L1"], - gigaimpact: ["9L1"], - takedown: ["9L1"], - tackle: ["9L1"], - steelbeam: ["9L1"], - flashcannon: ["9L1"], - mirrorshot: ["9L1"], - dracometeor: ["9L1"], - dragonpulse: ["9L1"], - dragonbreath: ["9L1"], - twister: ["9L1"], - earthpower: ["9L1"], - mudshot: ["9L1"], - mudslap: ["9L1"], - flamethrower: ["9L1"], - fireblast: ["9L1"], - darkpulse: ["9L1"], - aurasphere: ["9L1"], - sludgebomb: ["9L1"], - clearsmog: ["9L1"], - boomburst: ["9L1"], - hypervoice: ["9L1"], - hyperbeam: ["9L1"], - shiftgear: ["9L1"], - toxic: ["9L1"], - morningsun: ["9L1"], - irondefense: ["9L1"], - roar: ["9L1"], - honeclaws: ["9L1"], - workup: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - sandstorm: ["9L1"], - snowscape: ["9L1"], - dragondance: ["9L1"], - curse: ["9L1"], - metalsound: ["9L1"], - screech: ["9L1"], - leer: ["9L1"], - haze: ["9L1"], - tarshot: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - quickguard: ["9L1"], - helpinghand: ["9L1"], - crystaltail: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralhealing: ["9L1"], - feralresilience: ["9L1"], - feralspray: ["9L1"], - }, - }, - kodokai: { - learnset: { - haze: ["9L1"], - poltergeist: ["9L1"], - phantomforce: ["9L1"], - shadowpunch: ["9L1"], - astonish: ["9L1"], - firepunch: ["9L1"], - flamewheel: ["9L1"], - drainpunch: ["9L1"], - brickbreak: ["9L1"], - rocksmash: ["9L1"], - shadowball: ["9L1"], - hex: ["9L1"], - ominouswind: ["9L1"], - darkpulse: ["9L1"], - fireblast: ["9L1"], - flamethrower: ["9L1"], - flameburst: ["9L1"], - ember: ["9L1"], - firespin: ["9L1"], - heatwave: ["9L1"], - dazzlinggleam: ["9L1"], - drainingkiss: ["9L1"], - sludgebomb: ["9L1"], - clearsmog: ["9L1"], - hypervoice: ["9L1"], - hyperbeam: ["9L1"], - moonlight: ["9L1"], - trickroom: ["9L1"], - wish: ["9L1"], - aromatherapy: ["9L1"], - willowisp: ["9L1"], - encore: ["9L1"], - destinybond: ["9L1"], - disable: ["9L1"], - safeguard: ["9L1"], - lightscreen: ["9L1"], - smokescreen: ["9L1"], - grudge: ["9L1"], - facade: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - mistyterrain: ["9L1"], - sweetscent: ["9L1"], - sweetkiss: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - helpinghand: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - electangle: { - learnset: { - wildcharge: ["9L1"], - gyroball: ["9L1"], - zingzap: ["9L1"], - powerwhip: ["9L1"], - earthquake: ["9L1"], - rockslide: ["9L1"], - heatcrash: ["9L1"], - superpower: ["9L1"], - bodypress: ["9L1"], - thunderbolt: ["9L1"], - discharge: ["9L1"], - voltswitch: ["9L1"], - energyball: ["9L1"], - gigadrain: ["9L1"], - overheat: ["9L1"], - dazzlinggleam: ["9L1"], - stealthrock: ["9L1"], - thunderwave: ["9L1"], - haze: ["9L1"], - aromatherapy: ["9L1"], - thunder: ["9L1"], - risingvoltage: ["9L1"], - spark: ["9L1"], - chargebeam: ["9L1"], - shockwave: ["9L1"], - electroball: ["9L1"], - electroweb: ["9L1"], - thundershock: ["9L1"], - grassknot: ["9L1"], - bulldoze: ["9L1"], - stompingtantrum: ["9L1"], - brickbreak: ["9L1"], - fling: ["9L1"], - payback: ["9L1"], - brutalswing: ["9L1"], - rocksmash: ["9L1"], - bodyslam: ["9L1"], - doubleedge: ["9L1"], - slam: ["9L1"], - tackle: ["9L1"], - takedown: ["9L1"], - swift: ["9L1"], - triattack: ["9L1"], - gigaimpact: ["9L1"], - hyperbeam: ["9L1"], - workup: ["9L1"], - helpinghand: ["9L1"], - agility: ["9L1"], - irondefense: ["9L1"], - electricterrain: ["9L1"], - eerieimpulse: ["9L1"], - magnetrise: ["9L1"], - magneticflux: ["9L1"], - lightscreen: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - flashcannon: ["9L1"], - ironhead: ["9L1"], - steelbeam: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - wideguard: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - dolphena: { - learnset: { - liquidation: ["9L1"], - flipturn: ["9L1"], - aquatail: ["9L1"], - waterfall: ["9L1"], - outrage: ["9L1"], - dragontail: ["9L1"], - dragonrush: ["9L1"], - scaleshot: ["9L1"], - earthquake: ["9L1"], - bulldoze: ["9L1"], - irontail: ["9L1"], - acrobatics: ["9L1"], - dualwingbeat: ["9L1"], - crunch: ["9L1"], - lashout: ["9L1"], - payback: ["9L1"], - firefang: ["9L1"], - icefang: ["9L1"], - thunderfang: ["9L1"], - psychicfangs: ["9L1"], - brickbreak: ["9L1"], - bodyslam: ["9L1"], - wrap: ["9L1"], - headbutt: ["9L1"], - gigaimpact: ["9L1"], - doubleedge: ["9L1"], - thrash: ["9L1"], - flail: ["9L1"], - surf: ["9L1"], - scald: ["9L1"], - hydropump: ["9L1"], - brine: ["9L1"], - bubblebeam: ["9L1"], - dive: ["9L1"], - waterpulse: ["9L1"], - watergun: ["9L1"], - whirlpool: ["9L1"], - dracometeor: ["9L1"], - dragonpulse: ["9L1"], - dragonbreath: ["9L1"], - twister: ["9L1"], - icebeam: ["9L1"], - blizzard: ["9L1"], - icywind: ["9L1"], - energyball: ["9L1"], - darkpulse: ["9L1"], - dragondance: ["9L1"], - moonlight: ["9L1"], - coil: ["9L1"], - defog: ["9L1"], - lightscreen: ["9L1"], - workup: ["9L1"], - leer: ["9L1"], - raindance: ["9L1"], - sunnyday: ["9L1"], - sandstorm: ["9L1"], - snowscape: ["9L1"], - mistyterrain: ["9L1"], - laserfocus: ["9L1"], - focusenergy: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - chillingwater: ["9L1"], - roar: ["9L1"], - icespinner: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalcage: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - }, - }, - soleron: { - learnset: { - thunderbolt: ["9L1"], - thunder: ["9L1"], - discharge: ["9L1"], - voltswitch: ["9L1"], - shockwave: ["9L1"], - chargebeam: ["9L1"], - thundershock: ["9L1"], - hurricane: ["9L1"], - airslash: ["9L1"], - aircutter: ["9L1"], - gust: ["9L1"], - heatwave: ["9L1"], - weatherball: ["9L1"], - hypervoice: ["9L1"], - triattack: ["9L1"], - hyperbeam: ["9L1"], - wildcharge: ["9L1"], - spark: ["9L1"], - bravebird: ["9L1"], - dualwingbeat: ["9L1"], - aerialace: ["9L1"], - fly: ["9L1"], - peck: ["9L1"], - drillpeck: ["9L1"], - skyattack: ["9L1"], - pluck: ["9L1"], - acrobatics: ["9L1"], - uturn: ["9L1"], - doubleedge: ["9L1"], - gigaimpact: ["9L1"], - takedown: ["9L1"], - tackle: ["9L1"], - roost: ["9L1"], - defog: ["9L1"], - thunderwave: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - whirlwind: ["9L1"], - workup: ["9L1"], - featherdance: ["9L1"], - charge: ["9L1"], - metalsound: ["9L1"], - magneticflux: ["9L1"], - raindance: ["9L1"], - sunnyday: ["9L1"], - electricterrain: ["9L1"], - laserfocus: ["9L1"], - mistyterrain: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - helpinghand: ["9L1"], - wideguard: ["9L1"], - crystalcutter: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralspray: ["9L1"], - }, - }, - soleronawakened: { - learnset: { - thunderbolt: ["9L1"], - thunder: ["9L1"], - discharge: ["9L1"], - voltswitch: ["9L1"], - shockwave: ["9L1"], - chargebeam: ["9L1"], - thundershock: ["9L1"], - hurricane: ["9L1"], - airslash: ["9L1"], - aircutter: ["9L1"], - gust: ["9L1"], - heatwave: ["9L1"], - weatherball: ["9L1"], - hypervoice: ["9L1"], - triattack: ["9L1"], - hyperbeam: ["9L1"], - wildcharge: ["9L1"], - spark: ["9L1"], - bravebird: ["9L1"], - dualwingbeat: ["9L1"], - aerialace: ["9L1"], - fly: ["9L1"], - peck: ["9L1"], - drillpeck: ["9L1"], - skyattack: ["9L1"], - pluck: ["9L1"], - acrobatics: ["9L1"], - uturn: ["9L1"], - doubleedge: ["9L1"], - gigaimpact: ["9L1"], - takedown: ["9L1"], - tackle: ["9L1"], - roost: ["9L1"], - defog: ["9L1"], - thunderwave: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - whirlwind: ["9L1"], - workup: ["9L1"], - featherdance: ["9L1"], - charge: ["9L1"], - metalsound: ["9L1"], - magneticflux: ["9L1"], - raindance: ["9L1"], - sunnyday: ["9L1"], - electricterrain: ["9L1"], - laserfocus: ["9L1"], - mistyterrain: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - helpinghand: ["9L1"], - wideguard: ["9L1"], - crystalcutter: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralspray: ["9L1"], - }, - }, - jaegorm: { - learnset: { - firstimpression: ["9L1"], - calmmind: ["9L1"], - uturn: ["9L1"], - attackorder: ["9L1"], - lunge: ["9L1"], - leechlife: ["9L1"], - bugbite: ["9L1"], - xscissor: ["9L1"], - photonray: ["9L1"], - zenheadbutt: ["9L1"], - psychocut: ["9L1"], - knockoff: ["9L1"], - darkestlariat: ["9L1"], - payback: ["9L1"], - assurance: ["9L1"], - thief: ["9L1"], - earthquake: ["9L1"], - bulldoze: ["9L1"], - stompingtantrum: ["9L1"], - stoneedge: ["9L1"], - rockslide: ["9L1"], - rocktomb: ["9L1"], - superpower: ["9L1"], - brickbreak: ["9L1"], - rocksmash: ["9L1"], - crosschop: ["9L1"], - dragontail: ["9L1"], - dragonclaw: ["9L1"], - outrage: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - takedown: ["9L1"], - crushclaw: ["9L1"], - slash: ["9L1"], - gigaimpact: ["9L1"], - tackle: ["9L1"], - bugbuzz: ["9L1"], - strugglebug: ["9L1"], - silverwind: ["9L1"], - infestation: ["9L1"], - psychic: ["9L1"], - psyshock: ["9L1"], - extrasensory: ["9L1"], - futuresight: ["9L1"], - psybeam: ["9L1"], - confusion: ["9L1"], - darkpulse: ["9L1"], - aurasphere: ["9L1"], - focusblast: ["9L1"], - energyball: ["9L1"], - gigadrain: ["9L1"], - triattack: ["9L1"], - hyperbeam: ["9L1"], - cosmicpower: ["9L1"], - honeclaws: ["9L1"], - workup: ["9L1"], - growth: ["9L1"], - acidarmor: ["9L1"], - imprison: ["9L1"], - hypnosis: ["9L1"], - magicroom: ["9L1"], - mirrorcoat: ["9L1"], - powerswap: ["9L1"], - psychicterrain: ["9L1"], - supersonic: ["9L1"], - wonderroom: ["9L1"], - safeguard: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - afteryou: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - pounce: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - }, - }, - jaegormcollective: { - learnset: { - firstimpression: ["9L1"], - calmmind: ["9L1"], - uturn: ["9L1"], - attackorder: ["9L1"], - lunge: ["9L1"], - leechlife: ["9L1"], - bugbite: ["9L1"], - xscissor: ["9L1"], - photongeyser: ["9L1"], - zenheadbutt: ["9L1"], - psychocut: ["9L1"], - knockoff: ["9L1"], - darkestlariat: ["9L1"], - payback: ["9L1"], - assurance: ["9L1"], - thief: ["9L1"], - earthquake: ["9L1"], - bulldoze: ["9L1"], - stompingtantrum: ["9L1"], - stoneedge: ["9L1"], - rockslide: ["9L1"], - rocktomb: ["9L1"], - superpower: ["9L1"], - brickbreak: ["9L1"], - rocksmash: ["9L1"], - crosschop: ["9L1"], - dragontail: ["9L1"], - dragonclaw: ["9L1"], - outrage: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - takedown: ["9L1"], - crushclaw: ["9L1"], - slash: ["9L1"], - gigaimpact: ["9L1"], - tackle: ["9L1"], - bugbuzz: ["9L1"], - strugglebug: ["9L1"], - silverwind: ["9L1"], - infestation: ["9L1"], - psychic: ["9L1"], - psyshock: ["9L1"], - extrasensory: ["9L1"], - futuresight: ["9L1"], - psybeam: ["9L1"], - confusion: ["9L1"], - darkpulse: ["9L1"], - aurasphere: ["9L1"], - focusblast: ["9L1"], - energyball: ["9L1"], - gigadrain: ["9L1"], - triattack: ["9L1"], - hyperbeam: ["9L1"], - cosmicpower: ["9L1"], - honeclaws: ["9L1"], - workup: ["9L1"], - growth: ["9L1"], - acidarmor: ["9L1"], - imprison: ["9L1"], - hypnosis: ["9L1"], - magicroom: ["9L1"], - mirrorcoat: ["9L1"], - powerswap: ["9L1"], - psychicterrain: ["9L1"], - supersonic: ["9L1"], - wonderroom: ["9L1"], - safeguard: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - afteryou: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - pounce: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - }, - }, - elemadillo: { - learnset: { - thunderbolt: ["9L1"], - thunder: ["9L1"], - discharge: ["9L1"], - voltswitch: ["9L1"], - electroball: ["9L1"], - flashcannon: ["9L1"], - steelbeam: ["9L1"], - energyball: ["9L1"], - wildcharge: ["9L1"], - zingzap: ["9L1"], - ironhead: ["9L1"], - spinout: ["9L1"], - highhorsepower: ["9L1"], - uturn: ["9L1"], - rapidspin: ["9L1"], - shiftgear: ["9L1"], - thunderwave: ["9L1"], - reflect: ["9L1"], - lightscreen: ["9L1"], - eerieimpulse: ["9L1"], - agility: ["9L1"], - thundershock: ["9L1"], - tackle: ["9L1"], - growl: ["9L1"], - spark: ["9L1"], - thunderfang: ["9L1"], - metalclaw: ["9L1"], - safeguard: ["9L1"], - doubleedge: ["9L1"], - gigaimpact: ["9L1"], - bodyslam: ["9L1"], - triattack: ["9L1"], - hyperbeam: ["9L1"], - round: ["9L1"], - bulldoze: ["9L1"], - rocktomb: ["9L1"], - rockslide: ["9L1"], - crunch: ["9L1"], - bite: ["9L1"], - electricterrain: ["9L1"], - raindance: ["9L1"], - sunnyday: ["9L1"], - sandstorm: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - endure: ["9L1"], - doubleshock: ["9L1"], - helpinghand: ["9L1"], - quickguard: ["9L1"], - crystaltail: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralresilience: ["9L1"], - }, - }, - axolacred: { - learnset: { - acrobatics: ["9L1"], - dracometeor: ["9L1"], - coreenforcer: ["9L1"], - dragontail: ["9L1"], - dragonpulse: ["9L1"], - airslash: ["9L1"], - meteorbeam: ["9L1"], - surf: ["9L1"], - scald: ["9L1"], - dazzlinggleam: ["9L1"], - drainingkiss: ["9L1"], - energyball: ["9L1"], - weatherball: ["9L1"], - flipturn: ["9L1"], - shedtail: ["9L1"], - morningsun: ["9L1"], - recover: ["9L1"], - defog: ["9L1"], - encore: ["9L1"], - dragonbreath: ["9L1"], - twister: ["9L1"], - dragonclaw: ["9L1"], - aerialace: ["9L1"], - dualwingbeat: ["9L1"], - fly: ["9L1"], - aircutter: ["9L1"], - gust: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - safeguard: ["9L1"], - mist: ["9L1"], - haze: ["9L1"], - futuresight: ["9L1"], - roost: ["9L1"], - extrasensory: ["9L1"], - shadowball: ["9L1"], - psychic: ["9L1"], - hypervoice: ["9L1"], - bodyslam: ["9L1"], - round: ["9L1"], - hyperbeam: ["9L1"], - raindance: ["9L1"], - snowscape: ["9L1"], - sunnyday: ["9L1"], - sandstorm: ["9L1"], - mistyterrain: ["9L1"], - psychicterrain: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - endure: ["9L1"], - chillingwater: ["9L1"], - stealthrock: ["9L1"], - helpinghand: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - healingwish: ["9L1"], - wish: ["9L1"], - }, - }, - roscenti: { - learnset: { - pinmissile: ["9L1"], - firstimpression: ["9L1"], - megahorn: ["9L1"], - leechlife: ["9L1"], - lunge: ["9L1"], - uturn: ["9L1"], - bulletseed: ["9L1"], - powerwhip: ["9L1"], - hornleech: ["9L1"], - solarblade: ["9L1"], - superpower: ["9L1"], - swordsdance: ["9L1"], - leechseed: ["9L1"], - growth: ["9L1"], - taunt: ["9L1"], - strugglebug: ["9L1"], - stringshot: ["9L1"], - bugbuzz: ["9L1"], - energyball: ["9L1"], - grassknot: ["9L1"], - solarbeam: ["9L1"], - vinewhip: ["9L1"], - razorleaf: ["9L1"], - bugbite: ["9L1"], - seedbomb: ["9L1"], - scratch: ["9L1"], - furycutter: ["9L1"], - slash: ["9L1"], - nightslash: ["9L1"], - leafblade: ["9L1"], - petalblizzard: ["9L1"], - suckerpunch: ["9L1"], - rockblast: ["9L1"], - rockslide: ["9L1"], - rocktomb: ["9L1"], - bulldoze: ["9L1"], - stompingtantrum: ["9L1"], - drillrun: ["9L1"], - synthesis: ["9L1"], - irontail: ["9L1"], - strength: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - gigaimpact: ["9L1"], - hyperbeam: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - pounce: ["9L1"], - trailblaze: ["9L1"], - quickguard: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbash: ["9L1"], - crystalcage: ["9L1"], - crystalhealing: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - blunderbusk: { - learnset: { - haze: ["9L1"], - waterpulse: ["9L1"], - hydropump: ["9L1"], - surf: ["9L1"], - scald: ["9L1"], - chillingwater: ["9L1"], - aurasphere: ["9L1"], - darkpulse: ["9L1"], - dragonpulse: ["9L1"], - icebeam: ["9L1"], - energyball: ["9L1"], - flashcannon: ["9L1"], - terrainpulse: ["9L1"], - recover: ["9L1"], - shellsmash: ["9L1"], - stealthrock: ["9L1"], - tackle: ["9L1"], - bubble: ["9L1"], - withdraw: ["9L1"], - aquajet: ["9L1"], - whirlpool: ["9L1"], - bubblebeam: ["9L1"], - laserfocus: ["9L1"], - razorshell: ["9L1"], - acidarmor: ["9L1"], - muddywater: ["9L1"], - attract: ["9L1"], - blizzard: ["9L1"], - brine: ["9L1"], - dive: ["9L1"], - doubleteam: ["9L1"], - endure: ["9L1"], - explosion: ["9L1"], - facade: ["9L1"], - focusblast: ["9L1"], - gigaimpact: ["9L1"], - snowscape: ["9L1"], - icywind: ["9L1"], - irondefense: ["9L1"], - lightscreen: ["9L1"], - liquidation: ["9L1"], - mudshot: ["9L1"], - payback: ["9L1"], - poisonjab: ["9L1"], - protect: ["9L1"], - raindance: ["9L1"], - rest: ["9L1"], - rockblast: ["9L1"], - round: ["9L1"], - screech: ["9L1"], - selfdestruct: ["9L1"], - shadowball: ["9L1"], - sleeptalk: ["9L1"], - sludgebomb: ["9L1"], - smartstrike: ["9L1"], - snore: ["9L1"], - steelroller: ["9L1"], - substitute: ["9L1"], - swagger: ["9L1"], - toxic: ["9L1"], - swift: ["9L1"], - torment: ["9L1"], - triattack: ["9L1"], - weatherball: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - barracoth: { - learnset: { - wavecrash: ["9L1"], - chillingwater: ["9L1"], - surf: ["9L1"], - scald: ["9L1"], - hydropump: ["9L1"], - beatup: ["9L1"], - icebeam: ["9L1"], - freezedry: ["9L1"], - liquidation: ["9L1"], - flipturn: ["9L1"], - tripleaxel: ["9L1"], - iceshard: ["9L1"], - iciclecrash: ["9L1"], - earthquake: ["9L1"], - bodypress: ["9L1"], - heavyslam: ["9L1"], - dragontail: ["9L1"], - slackoff: ["9L1"], - curse: ["9L1"], - sheercold: ["9L1"], - roar: ["9L1"], - auroraveil: ["9L1"], - chillyreception: ["9L1"], - slash: ["9L1"], - tackle: ["9L1"], - tailwhip: ["9L1"], - bubble: ["9L1"], - mudshot: ["9L1"], - workup: ["9L1"], - focusenergy: ["9L1"], - icefang: ["9L1"], - haze: ["9L1"], - brine: ["9L1"], - encore: ["9L1"], - nightslash: ["9L1"], - dive: ["9L1"], - aquatail: ["9L1"], - snowscape: ["9L1"], - attract: ["9L1"], - avalanche: ["9L1"], - blizzard: ["9L1"], - confide: ["9L1"], - doubleteam: ["9L1"], - drillrun: ["9L1"], - echoedvoice: ["9L1"], - endure: ["9L1"], - facade: ["9L1"], - fling: ["9L1"], - frostbreath: ["9L1"], - frustration: ["9L1"], - gigaimpact: ["9L1"], - hyperbeam: ["9L1"], - icywind: ["9L1"], - irontail: ["9L1"], - protect: ["9L1"], - raindance: ["9L1"], - rest: ["9L1"], - return: ["9L1"], - round: ["9L1"], - safeguard: ["9L1"], - sleeptalk: ["9L1"], - smartstrike: ["9L1"], - snore: ["9L1"], - substitute: ["9L1"], - superpower: ["9L1"], - swagger: ["9L1"], - thief: ["9L1"], - waterfall: ["9L1"], - waterpulse: ["9L1"], - aquacutter: ["9L1"], - helpinghand: ["9L1"], - wideguard: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - sturgard: { - learnset: { - wavecrash: ["9L1"], - headsmash: ["9L1"], - doubleedge: ["9L1"], - flipturn: ["9L1"], - liquidation: ["9L1"], - aquatail: ["9L1"], - aquajet: ["9L1"], - surf: ["9L1"], - scald: ["9L1"], - hydropump: ["9L1"], - earthpower: ["9L1"], - earthquake: ["9L1"], - bulldoze: ["9L1"], - stoneedge: ["9L1"], - waterpulse: ["9L1"], - dive: ["9L1"], - rockslide: ["9L1"], - rockblast: ["9L1"], - drainingkiss: ["9L1"], - chillingwater: ["9L1"], - raindance: ["9L1"], - stealthrock: ["9L1"], - sandstorm: ["9L1"], - sunnyday: ["9L1"], - mistyterrain: ["9L1"], - muddywater: ["9L1"], - mudshot: ["9L1"], - watergun: ["9L1"], - rockpolish: ["9L1"], - irondefense: ["9L1"], - bodypress: ["9L1"], - bodyslam: ["9L1"], - bonerush: ["9L1"], - amnesia: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - protect: ["9L1"], - substitute: ["9L1"], - endure: ["9L1"], - reflect: ["9L1"], - irontail: ["9L1"], - ironhead: ["9L1"], - payback: ["9L1"], - assurance: ["9L1"], - curse: ["9L1"], - feralrush: ["9L1"], - feralspray: ["9L1"], - feralpower: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - crystalbash: ["9L1"], - crystaltail: ["9L1"], - crystalcage: ["9L1"], - crystalbeam: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - } - }, - jamborai: { - learnset: { - sludgebomb: ["9L1"], - sludgewave: ["9L1"], - clearsmog: ["9L1"], - acidspray: ["9L1"], - psychic: ["9L1"], - psyshock: ["9L1"], - storedpower: ["9L1"], - futuresight: ["9L1"], - shadowball: ["9L1"], - hydropump: ["9L1"], - surf: ["9L1"], - scald: ["9L1"], - chillingwater: ["9L1"], - icebeam: ["9L1"], - blizzard: ["9L1"], - energyball: ["9L1"], - gigadrain: ["9L1"], - toxic: ["9L1"], - recover: ["9L1"], - toxicspikes: ["9L1"], - calmmind: ["9L1"], - acidarmor: ["9L1"], - triattack: ["9L1"], - teleport: ["9L1"], - sludge: ["9L1"], - psybeam: ["9L1"], - confusion: ["9L1"], - acid: ["9L1"], - gastroacid: ["9L1"], - bodyslam: ["9L1"], - gunkshot: ["9L1"], - zenheadbutt: ["9L1"], - psychocut: ["9L1"], - wrap: ["9L1"], - wringout: ["9L1"], - hyperbeam: ["9L1"], - bubblebeam: ["9L1"], - darkpulse: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - venoshock: ["9L1"], - poisonsting: ["9L1"], - poisongas: ["9L1"], - skillswap: ["9L1"], - guardswap: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - safeguard: ["9L1"], - powertrick: ["9L1"], - trickroom: ["9L1"], - wonderroom: ["9L1"], - mirrorcoat: ["9L1"], - magiccoat: ["9L1"], - magicroom: ["9L1"], - embargo: ["9L1"], - mortalspin: ["9L1"], - twinbeam: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralpower: ["9L1"], - feralhealing: ["9L1"], - }, - }, - dracoil: { - learnset: { - belch: ["9L1"], - roar: ["9L1"], - outrage: ["9L1"], - dragontail: ["9L1"], - dragonrush: ["9L1"], - dualwingbeat: ["9L1"], - acrobatics: ["9L1"], - earthquake: ["9L1"], - irontail: ["9L1"], - defog: ["9L1"], - ironhead: ["9L1"], - dracometeor: ["9L1"], - dragonpulse: ["9L1"], - hurricane: ["9L1"], - airslash: ["9L1"], - fireblast: ["9L1"], - flamethrower: ["9L1"], - icebeam: ["9L1"], - thunderbolt: ["9L1"], - darkpulse: ["9L1"], - coil: ["9L1"], - dragondance: ["9L1"], - glare: ["9L1"], - roost: ["9L1"], - toxic: ["9L1"], - tackle: ["9L1"], - leer: ["9L1"], - gust: ["9L1"], - tailwhip: ["9L1"], - bite: ["9L1"], - twister: ["9L1"], - tailwind: ["9L1"], - uturn: ["9L1"], - bounce: ["9L1"], - aerialace: ["9L1"], - agility: ["9L1"], - attract: ["9L1"], - blizzard: ["9L1"], - bodyslam: ["9L1"], - breakingswipe: ["9L1"], - bulldoze: ["9L1"], - bulletseed: ["9L1"], - crunch: ["9L1"], - doubleteam: ["9L1"], - endure: ["9L1"], - facade: ["9L1"], - falseswipe: ["9L1"], - firespin: ["9L1"], - fly: ["9L1"], - gigaimpact: ["9L1"], - heatwave: ["9L1"], - hyperbeam: ["9L1"], - hypervoice: ["9L1"], - pluck: ["9L1"], - powerswap: ["9L1"], - protect: ["9L1"], - psychup: ["9L1"], - raindance: ["9L1"], - rest: ["9L1"], - whirlwind: ["9L1"], - haze: ["9L1"], - rocksmash: ["9L1"], - round: ["9L1"], - safeguard: ["9L1"], - sleeptalk: ["9L1"], - snore: ["9L1"], - solarbeam: ["9L1"], - steelwing: ["9L1"], - substitute: ["9L1"], - sunnyday: ["9L1"], - swagger: ["9L1"], - swift: ["9L1"], - thief: ["9L1"], - thunder: ["9L1"], - uproar: ["9L1"], - crystaltail: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - }, - }, - celespirit: { - learnset: { - shadowball: ["9L1"], - hex: ["9L1"], - moonblast: ["9L1"], - icebeam: ["9L1"], - thunderbolt: ["9L1"], - calmmind: ["9L1"], - moonlight: ["9L1"], - sheercold: ["9L1"], - hypnosis: ["9L1"], - astonish: ["9L1"], - growl: ["9L1"], - fairywind: ["9L1"], - helpinghand: ["9L1"], - nightshade: ["9L1"], - ominouswind: ["9L1"], - lifedew: ["9L1"], - healpulse: ["9L1"], - curse: ["9L1"], - icywind: ["9L1"], - healbell: ["9L1"], - eerieimpulse: ["9L1"], - healingwish: ["9L1"], - attract: ["9L1"], - blizzard: ["9L1"], - chargebeam: ["9L1"], - confide: ["9L1"], - darkpulse: ["9L1"], - dazzlinggleam: ["9L1"], - doubleteam: ["9L1"], - drainingkiss: ["9L1"], - dreameater: ["9L1"], - embargo: ["9L1"], - endure: ["9L1"], - energyball: ["9L1"], - facade: ["9L1"], - flash: ["9L1"], - fling: ["9L1"], - frustration: ["9L1"], - hyperbeam: ["9L1"], - infestation: ["9L1"], - lightscreen: ["9L1"], - magiccoat: ["9L1"], - magicroom: ["9L1"], - meteorbeam: ["9L1"], - painsplit: ["9L1"], - payback: ["9L1"], - protect: ["9L1"], - psychic: ["9L1"], - psychup: ["9L1"], - raindance: ["9L1"], - reflect: ["9L1"], - rest: ["9L1"], - return: ["9L1"], - roleplay: ["9L1"], - round: ["9L1"], - shadowclaw: ["9L1"], - shockwave: ["9L1"], - skillswap: ["9L1"], - sleeptalk: ["9L1"], - snatch: ["9L1"], - snore: ["9L1"], - spite: ["9L1"], - substitute: ["9L1"], - sunnyday: ["9L1"], - swagger: ["9L1"], - taunt: ["9L1"], - telekinesis: ["9L1"], - thief: ["9L1"], - throatchop: ["9L1"], - thunder: ["9L1"], - torment: ["9L1"], - trick: ["9L1"], - trickroom: ["9L1"], - zenheadbutt: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - noxtrice: { - learnset: { - flareblitz: ["9L1"], - blazekick: ["9L1"], - honeclaws: ["9L1"], - poisonjab: ["9L1"], - defog: ["9L1"], - earthquake: ["9L1"], - gunkshot: ["9L1"], - uturn: ["9L1"], - crunch: ["9L1"], - toxic: ["9L1"], - willowisp: ["9L1"], - taunt: ["9L1"], - roost: ["9L1"], - stompingtantrum: ["9L1"], - dragondance: ["9L1"], - peck: ["9L1"], - growl: ["9L1"], - smokescreen: ["9L1"], - ember: ["9L1"], - smog: ["9L1"], - flamewheel: ["9L1"], - drillpeck: ["9L1"], - scaryface: ["9L1"], - memento: ["9L1"], - bravebird: ["9L1"], - acrobatics: ["9L1"], - aerialace: ["9L1"], - attract: ["9L1"], - beatup: ["9L1"], - bounce: ["9L1"], - breakingswipe: ["9L1"], - corrosivegas: ["9L1"], - crosspoison: ["9L1"], - dragonclaw: ["9L1"], - dragonpulse: ["9L1"], - endure: ["9L1"], - facade: ["9L1"], - faketears: ["9L1"], - fireblast: ["9L1"], - flamethrower: ["9L1"], - fling: ["9L1"], - foulplay: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - slash: ["9L1"], - hypervoice: ["9L1"], - nightslash: ["9L1"], - heatwave: ["9L1"], - helpinghand: ["9L1"], - hurricane: ["9L1"], - irontail: ["9L1"], - overheat: ["9L1"], - payback: ["9L1"], - pluck: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - round: ["9L1"], - scaleshot: ["9L1"], - outrage: ["9L1"], - shadowclaw: ["9L1"], - sleeptalk: ["9L1"], - sludgebomb: ["9L1"], - sludgewave: ["9L1"], - snore: ["9L1"], - steelwing: ["9L1"], - substitute: ["9L1"], - swift: ["9L1"], - thief: ["9L1"], - thunderwave: ["9L1"], - venomdrench: ["9L1"], - venoshock: ["9L1"], - quickguard: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - }, - }, - efflor: { - learnset: { - stoneedge: ["9L1"], - rockslide: ["9L1"], - chillyreception: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - substitute: ["9L1"], - sleeptalk: ["9L1"], - rockblast: ["9L1"], - rocktomb: ["9L1"], - smackdown: ["9L1"], - rollout: ["9L1"], - rockthrow: ["9L1"], - grassyglide: ["9L1"], - petalblizzard: ["9L1"], - bulletseed: ["9L1"], - seedbomb: ["9L1"], - vinewhip: ["9L1"], - earthquake: ["9L1"], - highhorsepower: ["9L1"], - bulldoze: ["9L1"], - stompingtantrum: ["9L1"], - bodypress: ["9L1"], - heavyslam: ["9L1"], - ironhead: ["9L1"], - gyroball: ["9L1"], - bite: ["9L1"], - payback: ["9L1"], - assurance: ["9L1"], - zenheadbutt: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - megapunch: ["9L1"], - megakick: ["9L1"], - takedown: ["9L1"], - pound: ["9L1"], - headbutt: ["9L1"], - powergem: ["9L1"], - meteorbeam: ["9L1"], - ancientpower: ["9L1"], - gigadrain: ["9L1"], - grassknot: ["9L1"], - energyball: ["9L1"], - megadrain: ["9L1"], - absorb: ["9L1"], - magicalleaf: ["9L1"], - leafage: ["9L1"], - earthpower: ["9L1"], - mudbomb: ["9L1"], - mudslap: ["9L1"], - dazzlinggleam: ["9L1"], - leer: ["9L1"], - stealthrock: ["9L1"], - rockpolish: ["9L1"], - curse: ["9L1"], - synthesis: ["9L1"], - grassyterrain: ["9L1"], - raindance: ["9L1"], - sunnyday: ["9L1"], - sandstorm: ["9L1"], - mistyterrain: ["9L1"], - growth: ["9L1"], - watergun: ["9L1"], - defensecurl: ["9L1"], - rapidspin: ["9L1"], - leechseed: ["9L1"], - ingrain: ["9L1"], - solarbeam: ["9L1"], - weatherball: ["9L1"], - bellydrum: ["9L1"], - helpinghand: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalfortification: ["9L1"], - crystalhealing: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - avastar: { - learnset: { - psychic: ["9L1"], - psyshock: ["9L1"], - futuresight: ["9L1"], - flashcannon: ["9L1"], - steelbeam: ["9L1"], - dazzlinggleam: ["9L1"], - darkpulse: ["9L1"], - shadowball: ["9L1"], - thunder: ["9L1"], - thunderbolt: ["9L1"], - thunderwave: ["9L1"], - hurricane: ["9L1"], - rapidspin: ["9L1"], - calmmind: ["9L1"], - recover: ["9L1"], - teleport: ["9L1"], - irondefense: ["9L1"], - gravity: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - safeguard: ["9L1"], - trickroom: ["9L1"], - quash: ["9L1"], - heavyslam: ["9L1"], - zenheadbutt: ["9L1"], - bodyslam: ["9L1"], - gigaimpact: ["9L1"], - hyperbeam: ["9L1"], - psybeam: ["9L1"], - confusion: ["9L1"], - magnetbomb: ["9L1"], - ironhead: ["9L1"], - gyroball: ["9L1"], - spark: ["9L1"], - psychicterrain: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralhealing: ["9L1"], - feralresilience: ["9L1"], - }, - }, - faerenheit: { - learnset: { - acrobatics: ["9L1"], - lavaplume: ["9L1"], - aerialace: ["9L1"], - burnup: ["9L1"], - calmmind: ["9L1"], - dazzlinggleam: ["9L1"], - encore: ["9L1"], - firespin: ["9L1"], - fireblast: ["9L1"], - flamecharge: ["9L1"], - flamethrower: ["9L1"], - flash: ["9L1"], - gravity: ["9L1"], - healbell: ["9L1"], - heatcrash: ["9L1"], - hyperbeam: ["9L1"], - imprison: ["9L1"], - lightscreen: ["9L1"], - mistyexplosion: ["9L1"], - mistyterrain: ["9L1"], - moonblast: ["9L1"], - mysticalfire: ["9L1"], - overheat: ["9L1"], - playrough: ["9L1"], - psychup: ["9L1"], - reflect: ["9L1"], - skillswap: ["9L1"], - sunnyday: ["9L1"], - trick: ["9L1"], - trickroom: ["9L1"], - willowisp: ["9L1"], - wish: ["9L1"], - triattack: ["9L1"], - flareblitz: ["9L1"], - fairywind: ["9L1"], - ember: ["9L1"], - safeguard: ["9L1"], - wrap: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - takedown: ["9L1"], - pound: ["9L1"], - gigaimpact: ["9L1"], - zenheadbutt: ["9L1"], - psychic: ["9L1"], - psyshock: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - morningsun: ["9L1"], - helpinghand: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - cellsius: { - learnset: { - hydropump: ["9L1"], - scald: ["9L1"], - surf: ["9L1"], - brine: ["9L1"], - dive: ["9L1"], - bubblebeam: ["9L1"], - waterpulse: ["9L1"], - watergun: ["9L1"], - moonblast: ["9L1"], - dazzlinggleam: ["9L1"], - mistyexplosion: ["9L1"], - fairywind: ["9L1"], - icebeam: ["9L1"], - icywind: ["9L1"], - blizzard: ["9L1"], - energyball: ["9L1"], - grassknot: ["9L1"], - psychic: ["9L1"], - extrasensory: ["9L1"], - triattack: ["9L1"], - hyperbeam: ["9L1"], - flipturn: ["9L1"], - liquidation: ["9L1"], - waterfall: ["9L1"], - playrough: ["9L1"], - ironhead: ["9L1"], - zenheadbutt: ["9L1"], - acrobatics: ["9L1"], - aerialace: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - headbutt: ["9L1"], - wrap: ["9L1"], - defog: ["9L1"], - healbell: ["9L1"], - calmmind: ["9L1"], - haze: ["9L1"], - trick: ["9L1"], - lifedew: ["9L1"], - aquaring: ["9L1"], - charm: ["9L1"], - raindance: ["9L1"], - mistyterrain: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - sunnyday: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - helpinghand: ["9L1"], - chillingwater: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - }, - }, - kelven: { - learnset: { - spiritbreak: ["9L1"], - tripleaxel: ["9L1"], - iciclecrash: ["9L1"], - iceshard: ["9L1"], - avalanche: ["9L1"], - playrough: ["9L1"], - closecombat: ["9L1"], - sacredsword: ["9L1"], - crosschop: ["9L1"], - stoneedge: ["9L1"], - nightslash: ["9L1"], - hornleech: ["9L1"], - ironhead: ["9L1"], - smartstrike: ["9L1"], - zenheadbutt: ["9L1"], - acrobatics: ["9L1"], - aerialace: ["9L1"], - rapidspin: ["9L1"], - slash: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - headbutt: ["9L1"], - icebeam: ["9L1"], - blizzard: ["9L1"], - frostbreath: ["9L1"], - aurorabeam: ["9L1"], - powdersnow: ["9L1"], - icywind: ["9L1"], - moonblast: ["9L1"], - dazzlinggleam: ["9L1"], - mistyexplosion: ["9L1"], - flashcannon: ["9L1"], - powergem: ["9L1"], - mysticalfire: ["9L1"], - swordsdance: ["9L1"], - spikes: ["9L1"], - sheercold: ["9L1"], - auroraveil: ["9L1"], - calmmind: ["9L1"], - reflect: ["9L1"], - snowscape: ["9L1"], - mistyterrain: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - icespinner: ["9L1"], - helpinghand: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - }, - }, - salaos: { - learnset: { - aurasphere: ["9L1"], - focusblast: ["9L1"], - beatup: ["9L1"], - fierywrath: ["9L1"], - suckerpunch: ["9L1"], - crunch: ["9L1"], - bite: ["9L1"], - thief: ["9L1"], - payback: ["9L1"], - brutalswing: ["9L1"], - feintattack: ["9L1"], - assurance: ["9L1"], - lashout: ["9L1"], - dragontail: ["9L1"], - dragonclaw: ["9L1"], - outrage: ["9L1"], - firefang: ["9L1"], - psychicfangs: ["9L1"], - zenheadbutt: ["9L1"], - aquatail: ["9L1"], - powerwhip: ["9L1"], - seedbomb: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - headbutt: ["9L1"], - darkpulse: ["9L1"], - snarl: ["9L1"], - sludgebomb: ["9L1"], - fireblast: ["9L1"], - flamethrower: ["9L1"], - surf: ["9L1"], - scald: ["9L1"], - energyball: ["9L1"], - grassknot: ["9L1"], - solarbeam: ["9L1"], - psychic: ["9L1"], - confusion: ["9L1"], - dazzlinggleam: ["9L1"], - dragonpulse: ["9L1"], - hyperbeam: ["9L1"], - recover: ["9L1"], - toxic: ["9L1"], - toxicspikes: ["9L1"], - amnesia: ["9L1"], - lightscreen: ["9L1"], - psychicterrain: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - comeuppance: ["9L1"], - crystaltail: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - morndos: { - learnset: { - whirlwind: ["9L1"], - aurasphere: ["9L1"], - focusblast: ["9L1"], - bravebird: ["9L1"], - dualwingbeat: ["9L1"], - acrobatics: ["9L1"], - aerialace: ["9L1"], - fly: ["9L1"], - skyattack: ["9L1"], - wingattack: ["9L1"], - skydrop: ["9L1"], - beatup: ["9L1"], - foulplay: ["9L1"], - darkestlariat: ["9L1"], - lashout: ["9L1"], - nightslash: ["9L1"], - assurance: ["9L1"], - payback: ["9L1"], - thief: ["9L1"], - uturn: ["9L1"], - seedbomb: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - slash: ["9L1"], - oblivionwing: ["9L1"], - hurricane: ["9L1"], - airslash: ["9L1"], - aircutter: ["9L1"], - gust: ["9L1"], - darkpulse: ["9L1"], - heatwave: ["9L1"], - energyball: ["9L1"], - grassknot: ["9L1"], - psychic: ["9L1"], - mudslap: ["9L1"], - roost: ["9L1"], - defog: ["9L1"], - taunt: ["9L1"], - disable: ["9L1"], - perishsong: ["9L1"], - featherdance: ["9L1"], - torment: ["9L1"], - screech: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - tailwind: ["9L1"], - curse: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - comeuppance: ["9L1"], - wideguard: ["9L1"], - quickguard: ["9L1"], - crystalcutter: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalfortification: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - pythos: { - learnset: { - aurasphere: ["9L1"], - crunch: ["9L1"], - knockoff: ["9L1"], - suckerpunch: ["9L1"], - bite: ["9L1"], - brutalswing: ["9L1"], - payback: ["9L1"], - assurance: ["9L1"], - lashout: ["9L1"], - superpower: ["9L1"], - brickbreak: ["9L1"], - rocksmash: ["9L1"], - beatup: ["9L1"], - revenge: ["9L1"], - irontail: ["9L1"], - ironhead: ["9L1"], - psychicfangs: ["9L1"], - firefang: ["9L1"], - dragontail: ["9L1"], - outrage: ["9L1"], - scaleshot: ["9L1"], - superfang: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - headbutt: ["9L1"], - wrap: ["9L1"], - constrict: ["9L1"], - bind: ["9L1"], - gigaimpact: ["9L1"], - darkpulse: ["9L1"], - focusblast: ["9L1"], - flamethrower: ["9L1"], - psychic: ["9L1"], - gigadrain: ["9L1"], - energyball: ["9L1"], - grassknot: ["9L1"], - solarbeam: ["9L1"], - wringout: ["9L1"], - hyperbeam: ["9L1"], - coil: ["9L1"], - glare: ["9L1"], - nastyplot: ["9L1"], - taunt: ["9L1"], - torment: ["9L1"], - screech: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - sandstorm: ["9L1"], - snowscape: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - comeuppance: ["9L1"], - crystaltail: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralbite: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - corundell: { - learnset: { - stoneedge: ["9L1"], - energyball: ["9L1"], - solarbeam: ["9L1"], - solarblade: ["9L1"], - overheat: ["9L1"], - flareblitz: ["9L1"], - flamecharge: ["9L1"], - rockslide: ["9L1"], - rockblast: ["9L1"], - smackdown: ["9L1"], - rocktomb: ["9L1"], - rockpolish: ["9L1"], - bodypress: ["9L1"], - superpower: ["9L1"], - wildcharge: ["9L1"], - zingzap: ["9L1"], - spark: ["9L1"], - earthquake: ["9L1"], - stompingtantrum: ["9L1"], - bulldoze: ["9L1"], - dualwingbeat: ["9L1"], - doubleedge: ["9L1"], - bodyslam: ["9L1"], - takedown: ["9L1"], - pound: ["9L1"], - slam: ["9L1"], - gigaimpact: ["9L1"], - meteorbeam: ["9L1"], - revelationdance: ["9L1"], - powergem: ["9L1"], - thunderbolt: ["9L1"], - thunder: ["9L1"], - risingvoltage: ["9L1"], - voltswitch: ["9L1"], - discharge: ["9L1"], - chargebeam: ["9L1"], - shockwave: ["9L1"], - thundershock: ["9L1"], - earthpower: ["9L1"], - scorchingsands: ["9L1"], - triattack: ["9L1"], - shadowball: ["9L1"], - extrasensory: ["9L1"], - hyperbeam: ["9L1"], - stealthrock: ["9L1"], - recover: ["9L1"], - thunderwave: ["9L1"], - painsplit: ["9L1"], - electricterrain: ["9L1"], - sandstorm: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - metalsound: ["9L1"], - eerieimpulse: ["9L1"], - magnetrise: ["9L1"], - lightscreen: ["9L1"], - reflect: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - quadringo: { - learnset: { - dragontail: ["9L1"], - dragonclaw: ["9L1"], - beatup: ["9L1"], - outrage: ["9L1"], - dragonrush: ["9L1"], - spiritbreak: ["9L1"], - playrough: ["9L1"], - earthquake: ["9L1"], - bulldoze: ["9L1"], - rockslide: ["9L1"], - irontail: ["9L1"], - aquatail: ["9L1"], - bravebird: ["9L1"], - dualwingbeat: ["9L1"], - wingattack: ["9L1"], - bounce: ["9L1"], - nightslash: ["9L1"], - brutalswing: ["9L1"], - gigaimpact: ["9L1"], - bodyslam: ["9L1"], - doubleedge: ["9L1"], - takedown: ["9L1"], - strength: ["9L1"], - steelwing: ["9L1"], - slam: ["9L1"], - scratch: ["9L1"], - slash: ["9L1"], - dracometeor: ["9L1"], - dragonpulse: ["9L1"], - dragonbreath: ["9L1"], - twister: ["9L1"], - moonblast: ["9L1"], - drainingkiss: ["9L1"], - dazzlinggleam: ["9L1"], - mistyexplosion: ["9L1"], - fairywind: ["9L1"], - mysticalfire: ["9L1"], - surf: ["9L1"], - waterpulse: ["9L1"], - airslash: ["9L1"], - aircutter: ["9L1"], - swift: ["9L1"], - hypervoice: ["9L1"], - hyperbeam: ["9L1"], - roost: ["9L1"], - defog: ["9L1"], - healbell: ["9L1"], - haze: ["9L1"], - featherdance: ["9L1"], - attract: ["9L1"], - workup: ["9L1"], - confide: ["9L1"], - raindance: ["9L1"], - sunnyday: ["9L1"], - safeguard: ["9L1"], - mimic: ["9L1"], - leer: ["9L1"], - mistyterrain: ["9L1"], - calmmind: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - whirlwind: ["9L1"], - helpinghand: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - saphor: { - learnset: { - doubleedge: ["9L1"], - scorchingsands: ["9L1"], - headlongrush: ["9L1"], - bodyslam: ["9L1"], - earthquake: ["9L1"], - stoneedge: ["9L1"], - superpower: ["9L1"], - bodypress: ["9L1"], - wildcharge: ["9L1"], - hornleech: ["9L1"], - trailblaze: ["9L1"], - heavyslam: ["9L1"], - ironhead: ["9L1"], - megahorn: ["9L1"], - playrough: ["9L1"], - hypervoice: ["9L1"], - triattack: ["9L1"], - shadowball: ["9L1"], - darkpulse: ["9L1"], - aurasphere: ["9L1"], - focusblast: ["9L1"], - earthpower: ["9L1"], - energyball: ["9L1"], - gigadrain: ["9L1"], - grassknot: ["9L1"], - solarbeam: ["9L1"], - meteorbeam: ["9L1"], - powergem: ["9L1"], - psychic: ["9L1"], - dazzlinggleam: ["9L1"], - calmmind: ["9L1"], - milkdrink: ["9L1"], - bulkup: ["9L1"], - stealthrock: ["9L1"], - irondefense: ["9L1"], - roar: ["9L1"], - nobleroar: ["9L1"], - healbell: ["9L1"], - tackle: ["9L1"], - takedown: ["9L1"], - headbutt: ["9L1"], - round: ["9L1"], - bulldoze: ["9L1"], - rocktomb: ["9L1"], - rockslide: ["9L1"], - rockblast: ["9L1"], - highhorsepower: ["9L1"], - gigaimpact: ["9L1"], - hyperbeam: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - endure: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - sandstorm: ["9L1"], - mistyterrain: ["9L1"], - grassyterrain: ["9L1"], - helpinghand: ["9L1"], - wideguard: ["9L1"], - crystalcutter: ["9L1"], - crystaltail: ["9L1"], - crystalbash: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - crystalshard: ["9L1"], - }, - }, - fenreil: { - learnset: { - wildcharge: ["9L1"], - ironhead: ["9L1"], - irontail: ["9L1"], - doubleedge: ["9L1"], - howl: ["9L1"], - bodyslam: ["9L1"], - darkpulse: ["9L1"], - snarl: ["9L1"], - crunch: ["9L1"], - jawlock: ["9L1"], - knockoff: ["9L1"], - playrough: ["9L1"], - uturn: ["9L1"], - stoneedge: ["9L1"], - rockslide: ["9L1"], - rockblast: ["9L1"], - rocktomb: ["9L1"], - psychicfangs: ["9L1"], - firefang: ["9L1"], - flamecharge: ["9L1"], - icefang: ["9L1"], - thunderfang: ["9L1"], - trailblaze: ["9L1"], - hypervoice: ["9L1"], - shadowball: ["9L1"], - aurasphere: ["9L1"], - focusblast: ["9L1"], - earthpower: ["9L1"], - swordsdance: ["9L1"], - nastyplot: ["9L1"], - taunt: ["9L1"], - substitute: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - round: ["9L1"], - endure: ["9L1"], - bite: ["9L1"], - torment: ["9L1"], - assurance: ["9L1"], - meanlook: ["9L1"], - scaryface: ["9L1"], - superpower: ["9L1"], - brutalswing: ["9L1"], - nobleroar: ["9L1"], - growl: ["9L1"], - tackle: ["9L1"], - roar: ["9L1"], - headbutt: ["9L1"], - superfang: ["9L1"], - stompingtantrum: ["9L1"], - helpinghand: ["9L1"], - quickguard: ["9L1"], - feralbite: ["9L1"], - feralshred: ["9L1"], - feralrush: ["9L1"], - feralshriek: ["9L1"], - feralpower: ["9L1"], - feralbreath: ["9L1"], - feralspray: ["9L1"], - feralresilience: ["9L1"], - feralhealing: ["9L1"], - }, - }, - flocura: { - learnset: { - leafstorm: ["9L1"], - focusblast: ["9L1"], - aurasphere: ["9L1"], - seedbomb: ["9L1"], - bulletseed: ["9L1"], - psychocut: ["9L1"], - leechseed: ["9L1"], - earthpower: ["9L1"], - guardswap: ["9L1"], - guardsplit: ["9L1"], - powerswap: ["9L1"], - uturn: ["9L1"], - lunge: ["9L1"], - zenheadbutt: ["9L1"], - acrobatics: ["9L1"], - aerialace: ["9L1"], - fly: ["9L1"], - petalblizzard: ["9L1"], - bodyslam: ["9L1"], - doubleedge: ["9L1"], - takedown: ["9L1"], - gigaimpact: ["9L1"], - pollenpuff: ["9L1"], - shadowball: ["9L1"], - hex: ["9L1"], - psychic: ["9L1"], - futuresight: ["9L1"], - psyshock: ["9L1"], - darkpulse: ["9L1"], - thunderbolt: ["9L1"], - thunder: ["9L1"], - dazzlinggleam: ["9L1"], - powergem: ["9L1"], - meteorbeam: ["9L1"], - energyball: ["9L1"], - gigadrain: ["9L1"], - triattack: ["9L1"], - hyperbeam: ["9L1"], - sleeppowder: ["9L1"], - stealthrock: ["9L1"], - thunderwave: ["9L1"], - painsplit: ["9L1"], - taunt: ["9L1"], - calmmind: ["9L1"], - nastyplot: ["9L1"], - amnesia: ["9L1"], - workup: ["9L1"], - psychicterrain: ["9L1"], - mistyterrain: ["9L1"], - sunnyday: ["9L1"], - raindance: ["9L1"], - snowscape: ["9L1"], - sandstorm: ["9L1"], - cottonspore: ["9L1"], - stunspore: ["9L1"], - attract: ["9L1"], - doubleteam: ["9L1"], - endure: ["9L1"], - facade: ["9L1"], - protect: ["9L1"], - rest: ["9L1"], - sleeptalk: ["9L1"], - substitute: ["9L1"], - swagger: ["9L1"], - helpinghand: ["9L1"], - crystaltail: ["9L1"], - crystalbeam: ["9L1"], - crystalcage: ["9L1"], - crystalburst: ["9L1"], - crystalhealing: ["9L1"], - crystalfortification: ["9L1"], - feralrush: ["9L1"], - feralpower: ["9L1"], - feralresilience: ["9L1"], - feralspray: ["9L1"], - feralhealing: ["9L1"], - }, - }, - flocuranexus: { - learnset: { - }, - }, -}; diff --git a/data/mods/scootopiav2/moves.ts b/data/mods/scootopiav2/moves.ts deleted file mode 100644 index 93f63b3cbe..0000000000 --- a/data/mods/scootopiav2/moves.ts +++ /dev/null @@ -1,1284 +0,0 @@ -export const Moves: import('../../../sim/dex-moves').ModdedMoveDataTable = { - shedtail: { - num: 880, - accuracy: true, - basePower: 0, - category: "Status", - name: "Shed Tail", - pp: 10, - priority: 0, - flags: {}, - shortDesc: "Sac 12.5% HP, switch, heal ally 25%. Ally: 50% dmg redux this turn.", - onTryHit(source) { - if (!this.canSwitch(source.side)) { - this.add('-fail', source); - return this.NOT_FAIL; - } - if (source.hp <= Math.ceil(source.maxhp / 8)) { - this.add('-fail', source, 'move: Shed Tail', '[weak]'); - return this.NOT_FAIL; - } - }, - onHit(target) { - this.directDamage(Math.ceil(target.maxhp / 8)); - }, - slotCondition: 'shedtail', - condition: { - duration: 1, - onSwap(target) { - if (!target.fainted && (target.hp < target.maxhp || target.status)) { - target.heal(target.maxhp / 4); - this.add('-heal', target, target.getHealth, '[from] move: Healing Wish'); - } - }, - onModifyDef(def, pokemon) { - return this.chainModify(2); - }, - onModifySpD(spd, pokemon) { - return this.chainModify(2); - }, - }, - selfSwitch: 'shedtail', - secondary: null, - target: "self", - type: "Normal", - zMove: { effect: 'clearnegativeboost' }, - }, - photonray: { - accuracy: 100, - basePower: 90, - category: "Special", - name: "Photon Ray", - pp: 10, - priority: 0, - flags: { protect: 1, mirror: 1 }, - onModifyMove(move, pokemon) { - if (pokemon.getStat('atk', false, true) > pokemon.getStat('spa', false, true)) move.category = 'Physical'; - }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Photon Geyser", target); - }, - secondary: null, - target: "normal", - type: "Psychic", - contestType: "Cool", - }, - energysiphon: { - accuracy: 100, - basePower: 50, - category: "Special", - name: "Energy Siphon", - shortDesc: "Drains target's HP for 3 turns.", - pp: 10, - priority: 0, - flags: { protect: 1, mirror: 1, heal: 1, contact: 1 }, - drain: [1, 2], - secondary: null, - target: "normal", - type: "Grass", - volatileStatus: 'energysiphon', - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Fell Stinger", target); - }, - condition: { - onStart(target) { - this.add('-start', target, 'move: Energy Siphon'); - }, - duration: 3, - onResidualOrder: 8, - onResidual(pokemon) { - const target = this.getAtSlot(pokemon.volatiles['energysiphon'].sourceSlot); - if (!target || target.fainted || target.hp <= 0) { - console.log('Nothing to leech into'); - return; - } - const damage = this.damage(pokemon.baseMaxhp / 8, pokemon, target); - if (damage) { - this.heal(damage / 2, target, pokemon); - } - }, - }, - }, - sheercold: { - accuracy: 85, - basePower: 0, - category: "Status", - name: "Sheer Cold", - pp: 15, - priority: 0, - flags: { protect: 1, reflectable: 1, mirror: 1 }, - status: 'frz', - shortDesc: "Inflicts Freeze status on the opponent (1/16 Residual damage, halved SpA).", - secondary: null, - target: "normal", - type: "Ice", - zMove: { boost: { atk: 1 } }, - contestType: "Beautiful", - }, - spore: { - inherit: true, - pp: 10, - desc: "Puts the opponent to sleep for 1 turn", - }, - sleeppowder: { - inherit: true, - pp: 15, - accuracy: 90, - desc: "Puts the opponent to sleep for 1 turn", - }, - hypnosis: { - inherit: true, - pp: 20, - accuracy: 85, - desc: "Puts the opponent to sleep for 1 turn", - }, - grasswhistle: { - inherit: true, - isNonstandard: null, - pp: 25, - accuracy: 80, - desc: "Puts the opponent to sleep for 1 turn", - }, - sing: { - inherit: true, - isNonstandard: null, - pp: 25, - accuracy: 80, - desc: "Puts the opponent to sleep for 1 turn", - }, - crystalcutter: { - name: "Crystal Cutter", - accuracy: 100, - basePower: 50, - category: "Physical", - pp: 15, - type: "Crystal", - shortDesc: "Always crits. User recovers 50% of damage dealt", - priority: 0, - flags: { protect: 1, mirror: 1, contact: 1, slicing: 1 }, - target: "normal", - willCrit: true, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Psycho Cut", target); - }, - drain: [1, 2], - }, - crystaltail: { - name: "Crystal Tail", - accuracy: 85, - basePower: 120, - category: "Physical", - pp: 5, - type: "Crystal", - shortDesc: "20% to lower foe's Atk by 1", - priority: 0, - flags: { protect: 1, mirror: 1, contact: 1 }, - target: "normal", - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Dragon Tail", target); - }, - secondary: { - chance: 20, - boosts: { - atk: -1, - }, - }, - }, - crystalbash: { - name: "Crystal Bash", - accuracy: 100, - basePower: 100, - category: "Physical", - pp: 10, - type: "Crystal", - shortDesc: "10% to lower foe's Atk by 1", - priority: 0, - flags: { protect: 1, mirror: 1, contact: 1 }, - target: "normal", - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Iron Head", target); - }, - secondary: { - chance: 10, - boosts: { - atk: -1, - }, - }, - }, - crystalbeam: { - name: "Crystal Beam", - accuracy: 100, - basePower: 90, - category: "Special", - pp: 15, - type: "Crystal", - shortDesc: "30% to lower foe's SpA by 1", - priority: 0, - flags: { protect: 1, mirror: 1 }, - target: "normal", - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Aurora Beam", target); - }, - secondary: { - chance: 30, - boosts: { - spa: -1, - }, - }, - }, - crystalcage: { - name: "Crystal Cage", - accuracy: 85, - basePower: 85, - category: "Special", - pp: 10, - type: "Crystal", - shortDesc: "Traps and damages for 4-5 turns.", - priority: 0, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Diamond Storm", target); - }, - flags: { protect: 1, mirror: 1 }, - volatileStatus: 'partiallytrapped', - target: "normal", - secondary: null, - }, - crystalburst: { - accuracy: 100, - basePower: 120, - category: "Special", - name: "Crystal Burst", - pp: 5, - shortDesc: "Lower's user's SpA by 1", - priority: 0, - flags: { protect: 1, mirror: 1 }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Clanging Scales", target); - }, - self: { - boosts: { - spa: -1, - }, - }, - secondary: null, - target: "allAdjacentFoes", - type: "Crystal", - contestType: "Beautiful", - }, - crystalhealing: { - accuracy: true, - basePower: 0, - category: "Status", - name: "Crystal Healing", - pp: 5, - priority: 0, - shortDesc: "Cures whole team's status conditions. 1/16 residual healing at the end of each turn.", - flags: { snatch: 1, distance: 1, bypasssub: 1 }, - onHit(pokemon, source) { - this.add('-activate', source, 'move: Crystal Healing'); - const side = pokemon.side; - let success = false; - for (const ally of side.pokemon) { - if (ally.cureStatus()) success = true; - } - return success; - }, - volatileStatus: 'crystalhealing', - condition: { - onStart(pokemon) { - this.add('-start', pokemon, 'Crystal Healing'); - }, - onResidualOrder: 6, - onResidual(pokemon) { - this.heal(pokemon.baseMaxhp / 16); - }, - }, - target: "allyTeam", - type: "Crystal", - zMove: { effect: 'heal' }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Heal Bell", target); - }, - contestType: "Beautiful", - }, - crystalfortification: { - accuracy: true, - basePower: 0, - category: "Status", - name: "Crystal Fortification", - pp: 20, - priority: 0, - shortDesc: "+1 Def, +1 SpD. Clears negative stat changes.", - flags: { snatch: 1 }, - onHit(pokemon, source) { - let b: BoostID; - let didBoost = false; - const negBoosts: Partial> = {}; - for (b in source.boosts) { - if (source.boosts[b] < 0) negBoosts[b] = source.boosts[b] * -1; - didBoost = true; - } - if (didBoost) { - this.boost(negBoosts, source); - } - }, - boosts: { - def: 1, - spd: 1, - }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Iron Defense", target); - }, - secondary: null, - target: "self", - type: "Crystal", - zMove: { boost: { spd: 1 } }, - contestType: "Beautiful", - }, - crystalshard: { - accuracy: true, - basePower: 0, - category: "Status", - name: "Crystal Shard", - shortDesc: "Sets a layer of Spikes. (Not a new kind of hazard)", - pp: 20, - priority: 0, - flags: { reflectable: 1, nonsky: 1 }, - onHitSide(side, source) { - source.side.foe.addSideCondition("spikes"); - }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Spikes", target); - }, - secondary: null, - target: "foeSide", - type: "Crystal", - zMove: { boost: { spd: 1 } }, - contestType: "Beautiful", - }, - feralbite: { - name: "Feral Bite", - accuracy: 100, - basePower: 90, - category: "Physical", - pp: 15, - type: "Feral", - shortDesc: "30% chance to Poison foe.", - priority: 0, - flags: { protect: 1, mirror: 1, contact: 1, bite: 1 }, - target: "normal", - secondary: { - chance: 30, - status: "psn", - }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Poison Fang", target); - }, - }, - feralshred: { - name: "Feral Shred", - accuracy: 100, - basePower: 20, - category: "Physical", - pp: 15, - type: "Feral", - shortDesc: "Hits twice. Lowers foe's Def by 1 on each hit", - priority: 0, - multihit: 2, - flags: { protect: 1, mirror: 1, contact: 1 }, - target: "normal", - secondary: { - chance: 100, - boosts: { - def: -1, - }, - }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Dragon Claw", target); - }, - }, - feralrush: { - name: "Feral Rush", - accuracy: 100, - basePower: 120, - category: "Physical", - pp: 10, - type: "Feral", - shortDesc: "User takes 1/3 recoil damage. 20% to lower foe's Def by 1", - priority: 0, - recoil: [33, 100], - flags: { protect: 1, mirror: 1, contact: 1 }, - target: "normal", - secondary: { - chance: 20, - boosts: { - def: -1, - }, - }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Double-Edge", target); - }, - }, - feralshriek: { - name: "Feral Shriek", - accuracy: 100, - basePower: 90, - category: "Special", - pp: 15, - type: "Feral", - shortDesc: "20% to lower foe's SpD by 1", - priority: 0, - flags: { protect: 1, mirror: 1, sound: 1 }, - target: "allAdjacentFoes", - secondary: { - chance: 20, - boosts: { - spd: -1, - }, - }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Overdrive", target); - }, - }, - feralpower: { - accuracy: 100, - basePower: 110, - category: "Special", - name: "Feral Power", - pp: 5, - priority: 0, - shortDesc: "Lowers user's Def by 1", - flags: { protect: 1, mirror: 1, bypasssub: 1 }, - selfBoost: { - boosts: { - def: -1, - }, - }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Searing Shot", target); - }, - secondary: null, - target: "allAdjacentFoes", - type: "Feral", - contestType: "Tough", - }, - feralbreath: { - name: "Feral Breath", - accuracy: 100, - basePower: 80, - category: "Special", - pp: 10, - type: "Feral", - shortDesc: "100% to lower foe's SpD by 1", - priority: 0, - flags: { protect: 1, mirror: 1 }, - target: "normal", - secondary: { - chance: 100, - boosts: { - spd: -1, - }, - }, - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Dragon Rage", target); - }, - }, - feralhealing: { - num: 816, - accuracy: true, - basePower: 0, - category: "Status", - priority: 0, - flags: { heal: 1, bypasssub: 1, allyanim: 1 }, - onHit(pokemon) { - const success = !!this.heal(this.modify(pokemon.maxhp, 0.25)); - return pokemon.cureStatus() || success; - }, - secondary: null, - target: "allies", - name: "Feral Healing", - pp: 15, - shortDesc: "Heals user 25% and cures status.", - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Jungle Healing", target); - }, - type: "Feral", - zMove: { boost: { def: 1 } }, - contestType: "Cool", - }, - feralspray: { - accuracy: 100, - basePower: 0, - category: "Status", - name: "Feral Spray", - pp: 25, - priority: 0, - shortDesc: "+1 Atk, +1 SpA. Poisons the foe.", - flags: { protect: 1, reflectable: 1, mirror: 1 }, - selfBoost: { - boosts: { - atk: 1, - spa: 1, - }, - }, - status: 'psn', - secondary: null, - target: "normal", - type: "Feral", - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Acid Spray", target); - }, - zMove: { boost: { def: 1 } }, - contestType: "Clever", - }, - feralresilience: { - accuracy: true, - basePower: 0, - category: "Status", - name: "Feral Resilience", - pp: 20, - priority: 0, - flags: { snatch: 1 }, - shortDesc: "+1 Atk, +1 SpA. Cures user's status conditions.", - onHit(pokemon) { - if (['', 'slp'].includes(pokemon.status)) return false; - pokemon.cureStatus(); - }, - secondary: null, - target: "self", - boosts: { - atk: 1, - spa: 1, - }, - type: "Feral", - zMove: { effect: 'heal' }, - contestType: "Cute", - onPrepareHit(target, source, move) { - this.attrLastMove('[still]'); - this.add('-anim', source, "Refresh", target); - }, - }, - karatechop: { - inherit: true, - isNonstandard: null, - }, - doubleslap: { - inherit: true, - isNonstandard: null, - }, - cometpunch: { - inherit: true, - isNonstandard: null, - }, - razorwind: { - inherit: true, - isNonstandard: null, - }, - jumpkick: { - inherit: true, - isNonstandard: null, - }, - rollingkick: { - inherit: true, - isNonstandard: null, - }, - twineedle: { - inherit: true, - isNonstandard: null, - }, - sonicboom: { - inherit: true, - isNonstandard: null, - }, - submission: { - inherit: true, - isNonstandard: null, - }, - dragonrage: { - inherit: true, - isNonstandard: null, - }, - meditate: { - inherit: true, - isNonstandard: null, - }, - rage: { - inherit: true, - isNonstandard: null, - }, - barrier: { - inherit: true, - isNonstandard: null, - }, - bide: { - inherit: true, - isNonstandard: null, - }, - mirrormove: { - inherit: true, - isNonstandard: null, - }, - eggbomb: { - inherit: true, - isNonstandard: null, - }, - boneclub: { - inherit: true, - isNonstandard: null, - }, - clamp: { - inherit: true, - isNonstandard: null, - }, - skullbash: { - inherit: true, - isNonstandard: null, - }, - spikecannon: { - inherit: true, - isNonstandard: null, - }, - constrict: { - inherit: true, - isNonstandard: null, - }, - kinesis: { - inherit: true, - isNonstandard: null, - }, - barrage: { - inherit: true, - isNonstandard: null, - }, - lovelykiss: { - inherit: true, - isNonstandard: null, - }, - bubble: { - inherit: true, - isNonstandard: null, - }, - dizzypunch: { - inherit: true, - isNonstandard: null, - }, - flash: { - inherit: true, - isNonstandard: null, - }, - psywave: { - inherit: true, - isNonstandard: null, - }, - bonemerang: { - inherit: true, - isNonstandard: null, - }, - hyperfang: { - inherit: true, - isNonstandard: null, - }, - sharpen: { - inherit: true, - isNonstandard: null, - }, - conversion: { - inherit: true, - isNonstandard: null, - }, - sketch: { - inherit: true, - isNonstandard: null, - }, - triplekick: { - inherit: true, - isNonstandard: null, - }, - spiderweb: { - inherit: true, - isNonstandard: null, - }, - mindreader: { - inherit: true, - isNonstandard: null, - }, - nightmare: { - inherit: true, - isNonstandard: null, - }, - conversion2: { - inherit: true, - isNonstandard: null, - }, - aeroblast: { - inherit: true, - isNonstandard: null, - }, - feintattack: { - inherit: true, - isNonstandard: null, - }, - octazooka: { - inherit: true, - isNonstandard: null, - }, - foresight: { - inherit: true, - isNonstandard: null, - }, - return: { - inherit: true, - isNonstandard: null, - }, - frustration: { - inherit: true, - isNonstandard: null, - }, - sacredfire: { - inherit: true, - isNonstandard: null, - }, - magnitude: { - inherit: true, - isNonstandard: null, - }, - pursuit: { - inherit: true, - isNonstandard: null, - }, - vitalthrow: { - inherit: true, - isNonstandard: null, - }, - hiddenpower: { - inherit: true, - isNonstandard: null, - }, - hail: { - inherit: true, - isNonstandard: null, - }, - smellingsalts: { - inherit: true, - isNonstandard: null, - }, - naturepower: { - inherit: true, - isNonstandard: null, - }, - assist: { - inherit: true, - isNonstandard: null, - }, - magiccoat: { - inherit: true, - isNonstandard: null, - }, - revenge: { - inherit: true, - isNonstandard: null, - }, - refresh: { - inherit: true, - isNonstandard: null, - }, - grudge: { - inherit: true, - isNonstandard: null, - }, - snatch: { - inherit: true, - isNonstandard: null, - }, - secretpower: { - inherit: true, - isNonstandard: null, - }, - camouflage: { - inherit: true, - isNonstandard: null, - }, - tailglow: { - inherit: true, - isNonstandard: null, - }, - lusterpurge: { - inherit: true, - isNonstandard: null, - }, - mistball: { - inherit: true, - isNonstandard: null, - }, - mudsport: { - inherit: true, - isNonstandard: null, - }, - iceball: { - inherit: true, - isNonstandard: null, - }, - needlearm: { - inherit: true, - isNonstandard: null, - }, - aromatherapy: { - inherit: true, - isNonstandard: null, - }, - odorsleuth: { - inherit: true, - isNonstandard: null, - }, - silverwind: { - inherit: true, - isNonstandard: null, - }, - signalbeam: { - inherit: true, - isNonstandard: null, - }, - skyuppercut: { - inherit: true, - isNonstandard: null, - }, - watersport: { - inherit: true, - isNonstandard: null, - }, - doomdesire: { - inherit: true, - isNonstandard: null, - }, - psychoboost: { - inherit: true, - isNonstandard: null, - }, - miracleeye: { - inherit: true, - isNonstandard: null, - }, - wakeupslap: { - inherit: true, - isNonstandard: null, - }, - naturalgift: { - inherit: true, - isNonstandard: null, - }, - embargo: { - inherit: true, - isNonstandard: null, - }, - psychoshift: { - inherit: true, - isNonstandard: null, - }, - trumpcard: { - inherit: true, - isNonstandard: null, - }, - healblock: { - inherit: true, - isNonstandard: null, - }, - wringout: { - inherit: true, - isNonstandard: null, - }, - luckychant: { - inherit: true, - isNonstandard: null, - }, - mefirst: { - inherit: true, - isNonstandard: null, - }, - punishment: { - inherit: true, - isNonstandard: null, - }, - mudbomb: { - inherit: true, - isNonstandard: null, - }, - mirrorshot: { - inherit: true, - isNonstandard: null, - }, - rockclimb: { - inherit: true, - isNonstandard: null, - }, - rockwrecker: { - inherit: true, - isNonstandard: null, - }, - magnetbomb: { - inherit: true, - isNonstandard: null, - }, - captivate: { - inherit: true, - isNonstandard: null, - }, - chatter: { - inherit: true, - isNonstandard: null, - }, - healorder: { - inherit: true, - isNonstandard: null, - }, - crushgrip: { - inherit: true, - isNonstandard: null, - }, - darkvoid: { - inherit: true, - isNonstandard: null, - }, - seedflare: { - inherit: true, - isNonstandard: null, - }, - ominouswind: { - inherit: true, - isNonstandard: null, - }, - autotomize: { - inherit: true, - isNonstandard: null, - }, - telekinesis: { - inherit: true, - isNonstandard: null, - }, - stormthrow: { - inherit: true, - isNonstandard: null, - }, - flameburst: { - inherit: true, - isNonstandard: null, - }, - synchronoise: { - inherit: true, - isNonstandard: null, - }, - chipaway: { - inherit: true, - isNonstandard: null, - }, - skydrop: { - inherit: true, - isNonstandard: null, - }, - bestow: { - inherit: true, - isNonstandard: null, - }, - dualchop: { - inherit: true, - isNonstandard: null, - }, - heartstamp: { - inherit: true, - isNonstandard: null, - }, - leaftornado: { - inherit: true, - isNonstandard: null, - }, - steamroller: { - inherit: true, - isNonstandard: null, - }, - headcharge: { - inherit: true, - isNonstandard: null, - }, - geargrind: { - inherit: true, - isNonstandard: null, - }, - searingshot: { - inherit: true, - isNonstandard: null, - }, - technoblast: { - inherit: true, - isNonstandard: null, - }, - secretsword: { - inherit: true, - isNonstandard: null, - }, - glaciate: { - inherit: true, - isNonstandard: null, - }, - boltstrike: { - inherit: true, - isNonstandard: null, - }, - blueflare: { - inherit: true, - isNonstandard: null, - }, - freezeshock: { - inherit: true, - isNonstandard: null, - }, - iceburn: { - inherit: true, - isNonstandard: null, - }, - fusionflare: { - inherit: true, - isNonstandard: null, - }, - fusionbolt: { - inherit: true, - isNonstandard: null, - }, - matblock: { - inherit: true, - isNonstandard: null, - }, - rototiller: { - inherit: true, - isNonstandard: null, - }, - trickortreat: { - inherit: true, - isNonstandard: null, - }, - iondeluge: { - inherit: true, - isNonstandard: null, - }, - forestscurse: { - inherit: true, - isNonstandard: null, - }, - topsyturvy: { - inherit: true, - isNonstandard: null, - }, - craftyshield: { - inherit: true, - isNonstandard: null, - }, - flowershield: { - inherit: true, - isNonstandard: null, - }, - electrify: { - inherit: true, - isNonstandard: null, - }, - kingsshield: { - inherit: true, - isNonstandard: null, - }, - venomdrench: { - inherit: true, - isNonstandard: null, - }, - powder: { - inherit: true, - isNonstandard: null, - }, - geomancy: { - inherit: true, - isNonstandard: null, - }, - poweruppunch: { - inherit: true, - isNonstandard: null, - }, - oblivionwing: { - inherit: true, - isNonstandard: null, - }, - thousandarrows: { - inherit: true, - isNonstandard: null, - }, - thousandwaves: { - inherit: true, - isNonstandard: null, - }, - landswrath: { - inherit: true, - isNonstandard: null, - }, - lightofruin: { - inherit: true, - isNonstandard: null, - }, - sparklingaria: { - inherit: true, - isNonstandard: null, - }, - floralhealing: { - inherit: true, - isNonstandard: null, - }, - spotlight: { - inherit: true, - isNonstandard: null, - }, - toxicthread: { - inherit: true, - isNonstandard: null, - }, - laserfocus: { - inherit: true, - isNonstandard: null, - }, - gearup: { - inherit: true, - isNonstandard: null, - }, - anchorshot: { - inherit: true, - isNonstandard: null, - }, - purify: { - inherit: true, - isNonstandard: null, - }, - coreenforcer: { - inherit: true, - isNonstandard: null, - }, - beakblast: { - inherit: true, - isNonstandard: null, - }, - clangingscales: { - inherit: true, - isNonstandard: null, - }, - dragonhammer: { - inherit: true, - isNonstandard: null, - }, - shelltrap: { - inherit: true, - isNonstandard: null, - }, - shadowbone: { - inherit: true, - isNonstandard: null, - }, - prismaticlaser: { - inherit: true, - isNonstandard: null, - }, - spectralthief: { - inherit: true, - isNonstandard: null, - }, - sunsteelstrike: { - inherit: true, - isNonstandard: null, - }, - moongeistbeam: { - inherit: true, - isNonstandard: null, - }, - naturesmadness: { - inherit: true, - isNonstandard: null, - }, - multiattack: { - inherit: true, - isNonstandard: null, - }, - mindblown: { - inherit: true, - isNonstandard: null, - }, - plasmafists: { - inherit: true, - isNonstandard: null, - }, - photongeyser: { - inherit: true, - isNonstandard: null, - }, - doubleironbash: { - inherit: true, - isNonstandard: null, - }, - maxguard: { - inherit: true, - isNonstandard: null, - }, - octolock: { - inherit: true, - isNonstandard: null, - }, - boltbeak: { - inherit: true, - isNonstandard: null, - }, - fishiousrend: { - inherit: true, - isNonstandard: null, - }, - clangoroussoul: { - inherit: true, - isNonstandard: null, - }, - decorate: { - inherit: true, - isNonstandard: null, - }, - snaptrap: { - inherit: true, - isNonstandard: null, - }, - aurawheel: { - inherit: true, - isNonstandard: null, - }, - strangesteam: { - inherit: true, - isNonstandard: null, - }, - obstruct: { - inherit: true, - isNonstandard: null, - }, - meteorassault: { - inherit: true, - isNonstandard: null, - }, - eternabeam: { - inherit: true, - isNonstandard: null, - }, -}; diff --git a/data/mods/scootopiav2/pokedex.ts b/data/mods/scootopiav2/pokedex.ts deleted file mode 100644 index 52f1bcbacd..0000000000 --- a/data/mods/scootopiav2/pokedex.ts +++ /dev/null @@ -1,551 +0,0 @@ -export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable = { - arbrella: { - num: 2001, - name: "Arbrella", - types: ["Grass", "Ground"], - baseStats: { hp: 80, atk: 115, def: 100, spa: 80, spd: 80, spe: 75 }, - abilities: { 0: "Overgrow", H: "Tough Claws" }, - weightkg: 211, - eggGroups: ["Undiscovered"], - }, - krachiten: { - num: 2002, - name: "Krachiten", - types: ["Water", "Bug"], - baseStats: { hp: 90, atk: 120, def: 70, spa: 78, spd: 60, spe: 112 }, - abilities: { 0: "Torrent", H: "Sniper" }, - weightkg: 59, - eggGroups: ["Undiscovered"], - }, - scalaron: { - num: 2003, - name: "Scalaron", - types: ["Fire", "Flying"], - baseStats: { hp: 90, atk: 70, def: 90, spa: 100, spd: 105, spe: 75 }, - abilities: { 0: "Blaze", H: "Filter" }, - weightkg: 70, - eggGroups: ["Undiscovered"], - }, - rantler: { - num: 2004, - name: "Rantler", - types: ["Normal", "Ice"], - baseStats: { hp: 68, atk: 118, def: 94, spa: 43, spd: 79, spe: 73 }, - abilities: { 0: "Intimidate", 1: "Slush Rush", H: "Tough Claws" }, - weightkg: 67, - eggGroups: ["Undiscovered"], - }, - woolora: { - num: 2005, - name: "Woolora", - types: ["Fairy"], - baseStats: { hp: 70, atk: 75, def: 70, spa: 95, spd: 115, spe: 70 }, - abilities: { 0: "Fluffy", 1: "Rattled", H: "Pastel Veil" }, - weightkg: 50.3, - eggGroups: ["Undiscovered"], - }, - albatrygon: { - num: 2006, - name: "Albatrygon", - types: ["Flying"], - baseStats: { hp: 80, atk: 105, def: 70, spa: 65, spd: 60, spe: 95 }, - abilities: { 0: "Prankster", 1: "Klutz", H: "Unburden" }, - weightkg: 10.1, - eggGroups: ["Undiscovered"], - }, - orchile: { - num: 2007, - name: "Orchile", - types: ["Grass", "Fairy"], - baseStats: { hp: 65, atk: 60, def: 75, spa: 110, spd: 121, spe: 64 }, - abilities: { 0: "Sweet Veil", 1: "Aroma Veil", H: "Flower Veil" }, - weightkg: 45, - eggGroups: ["Undiscovered"], - }, - embuck: { - num: 2008, - name: "Embuck", - types: ["Fire", "Fighting"], - baseStats: { hp: 90, atk: 125, def: 80, spa: 83, spd: 65, spe: 82 }, - abilities: { 0: "Intimidate", H: "Flash Fire" }, - weightkg: 113, - eggGroups: ["Undiscovered"], - }, - cindoe: { - num: 2009, - name: "Cindoe", - types: ["Fire", "Dark"], - baseStats: { hp: 80, atk: 74, def: 55, spa: 110, spd: 100, spe: 106 }, - abilities: { 0: "Natural Cure", H: "Flash Fire" }, - weightkg: 67, - eggGroups: ["Undiscovered"], - }, - cobracotta: { - num: 2010, - name: "Cobracotta", - types: ["Grass", "Poison"], - baseStats: { hp: 80, atk: 90, def: 95, spa: 80, spd: 115, spe: 35 }, - abilities: { 0: "Mold Breaker", 1: "Weak Armor", H: "Heatproof" }, - weightkg: 68, - eggGroups: ["Undiscovered"], - }, - minillow: { - num: 2011, - name: "Minillow", - types: ["Water", "Fairy"], - baseStats: { hp: 70, atk: 64, def: 75, spa: 90, spd: 95, spe: 81 }, - abilities: { 0: "Swift Swim", 1: "Dazzling", H: "Adaptability" }, - weightkg: 22, - eggGroups: ["Undiscovered"], - }, - crossont: { - num: 2012, - name: "Crossont", - types: ["Bug", "Fighting"], - baseStats: { hp: 80, atk: 125, def: 100, spa: 60, spd: 80, spe: 80 }, - abilities: { 0: "Sniper", 1: "Long Reach", H: "Gooey" }, - weightkg: 121, - eggGroups: ["Undiscovered"], - }, - torgeist: { - num: 2013, - name: "Torgeist", - types: ["Ghost", "Flying"], - baseStats: { hp: 55, atk: 65, def: 95, spa: 115, spd: 100, spe: 105 }, - abilities: { 0: "Cursed Body", 1: "Clear Body", H: "Merciless" }, - weightkg: 9.7, - eggGroups: ["Undiscovered"], - }, - platypad: { - num: 2014, - name: "Platypad", - types: ["Grass", "Water"], - baseStats: { hp: 120, atk: 100, def: 80, spa: 100, spd: 80, spe: 40 }, - abilities: { 0: "Thick Fat", 1: "Triage", H: "Flower Veil" }, - weightkg: 89, - eggGroups: ["Undiscovered"], - }, - lumoth: { - num: 2015, - name: "Lumoth", - types: ["Bug", "Ghost"], - baseStats: { hp: 60, atk: 55, def: 91, spa: 110, spd: 85, spe: 94 }, - abilities: { 0: "Levitate" }, - weightkg: 0.5, - eggGroups: ["Undiscovered"], - }, - aurorowl: { - num: 2016, - name: "Aurorowl", - types: ["Ice", "Flying"], - baseStats: { hp: 70, atk: 70, def: 65, spa: 95, spd: 95, spe: 115 }, - abilities: { 0: "Snow Cloak", H: "Technician" }, - weightkg: 15, - eggGroups: ["Undiscovered"], - }, - carapex: { - num: 2017, - name: "Carapex", - types: ["Bug", "Flying"], - baseStats: { hp: 75, atk: 105, def: 155, spa: 55, spd: 90, spe: 60 }, - abilities: { 0: "Wind Rider", 1: "Mold Breaker", H: "Sturdy" }, - weightkg: 135, - eggGroups: ["Undiscovered"], - }, - dojodo: { - num: 2018, - name: "Dojodo", - types: ["Fighting"], - baseStats: { hp: 90, atk: 115, def: 80, spa: 65, spd: 100, spe: 80 }, - abilities: { 0: "Iron Fist", 1: "Stamina", H: "Supreme Overlord" }, - weightkg: 53, - eggGroups: ["Undiscovered"], - }, - nunopod: { - num: 2019, - name: "Nunopod", - types: ["Ground", "Bug"], - baseStats: { hp: 80, atk: 110, def: 125, spa: 68, spd: 75, spe: 67 }, - abilities: { 0: "Earth Eater", H: "Opportunist" }, - weightkg: 68, - eggGroups: ["Undiscovered"], - }, - zeploom: { - num: 2020, - name: "Zeploom", - types: ["Grass", "Ground"], - baseStats: { hp: 55, atk: 55, def: 145, spa: 65, spd: 150, spe: 45 }, - abilities: { 0: "Wind Rider", H: "Levitate" }, - weightkg: 5, - eggGroups: ["Undiscovered"], - }, - brawnkey: { - num: 2021, - name: "Brawnkey", - types: ["Steel", "Fighting"], - baseStats: { hp: 95, atk: 105, def: 105, spa: 85, spd: 80, spe: 50 }, - abilities: { 0: "Levitate" }, - weightkg: 85, - eggGroups: ["Undiscovered"], - }, - salamalix: { - num: 2022, - name: "Salamalix", - types: ["Rock", "Steel"], - baseStats: { hp: 70, atk: 120, def: 120, spa: 45, spd: 65, spe: 90 }, - abilities: { 0: "No Guard", 1: "Mold Breaker", H: "Intimidate" }, - weightkg: 85, - eggGroups: ["Undiscovered"], - }, - cinnastar: { - num: 2023, - name: "Cinnastar", - types: ["Rock", "Poison"], - baseStats: { hp: 110, atk: 95, def: 80, spa: 95, spd: 80, spe: 80 }, - abilities: { 0: "Liquid Ooze", H: "Regenerator" }, - weightkg: 56, - eggGroups: ["Undiscovered"], - }, - muabboa: { - num: 2024, - name: "MuabBoa", - types: ["Ground", "Fighting"], - baseStats: { hp: 65, atk: 100, def: 75, spa: 55, spd: 65, spe: 120 }, - abilities: { 0: "Anticipation", 1: "Sand Rush", H: "Inner Focus" }, - weightkg: 25, - eggGroups: ["Undiscovered"], - }, - volvolpa: { - num: 2025, - name: "Volvolpa", - types: ["Electric", "Ice"], - baseStats: { hp: 76, atk: 97, def: 64, spa: 70, spd: 102, spe: 121 }, - abilities: { 0: "Slush Rush", 1: "Volt Absorb", H: "Strong Jaw" }, - weightkg: 27, - eggGroups: ["Undiscovered"], - }, - harzodia: { - num: 2026, - name: "Harzodia", - types: ["Psychic"], - baseStats: { hp: 65, atk: 55, def: 75, spa: 125, spd: 75, spe: 95 }, - abilities: { 0: "Prankster", 1: "Unburden", H: "Solar Power" }, - weightkg: 35, - eggGroups: ["Undiscovered"], - }, - cyllindrake: { - num: 2027, - name: "Cyllindrake", - types: ["Steel", "Dragon"], - baseStats: { hp: 70, atk: 85, def: 115, spa: 95, spd: 70, spe: 110 }, - abilities: { 0: "Heavy Metal", 1: "Punk Rock", H: "Scrappy" }, - weightkg: 180, - eggGroups: ["Undiscovered"], - }, - kodokai: { - num: 2028, - name: "Kodokai", - types: ["Ghost", "Fire"], - baseStats: { hp: 110, atk: 65, def: 100, spa: 110, spd: 90, spe: 30 }, - abilities: { 0: "White Smoke", H: "Aroma Veil" }, - weightkg: 50, - eggGroups: ["Undiscovered"], - }, - electangle: { - num: 2029, - name: "Electangle", - types: ["Steel", "Electric"], - baseStats: { hp: 120, atk: 90, def: 110, spa: 90, spd: 90, spe: 25 }, - abilities: { 0: "Filter" }, - weightkg: 190, - eggGroups: ["Undiscovered"], - }, - dolphena: { - num: 2030, - name: "Dolphena", - types: ["Water", "Dragon"], - baseStats: { hp: 95, atk: 125, def: 80, spa: 84, spd: 75, spe: 81 }, - abilities: { 0: "Anger Point", H: "Mythical Presence" }, - weightkg: 271, - eggGroups: ["Undiscovered"], - }, - elemadillo: { - num: 2035, - name: "Elemadillo", - types: ["Steel", "Electric"], - baseStats: { hp: 67, atk: 94, def: 73, spa: 103, spd: 64, spe: 129 }, - abilities: { 0: "Weak Armor", 1: "Motor Drive", H: "Stalwart" }, - weightkg: 58, - eggGroups: ["Undiscovered"], - }, - axolacred: { - num: 2036, - name: "Axolacred", - types: ["Dragon"], - baseStats: { hp: 85, atk: 90, def: 85, spa: 95, spd: 95, spe: 65 }, - abilities: { 0: "Magic Guard", H: "Purifying Salt" }, - weightkg: 33, - eggGroups: ["Undiscovered"], - }, - roscenti: { - num: 2037, - name: "Roscenti", - types: ["Bug", "Grass"], - baseStats: { hp: 80, atk: 115, def: 100, spa: 75, spd: 80, spe: 100 }, - abilities: { 0: "Sheer Force", 1: "Chlorophyll", H: "Skill Link" }, - eggGroups: ["Undiscovered"], - weightkg: 37, - }, - blunderbusk: { - num: 2038, - name: "Blunderbusk", - types: ["Water"], - baseStats: { hp: 73, atk: 67, def: 124, spa: 128, spd: 89, spe: 24 }, - abilities: { 0: "Mega Launcher", H: "Shell Bunker" }, - weightkg: 86, - eggGroups: ["Undiscovered"], - }, - barracoth: { - num: 2039, - name: "Barracoth", - types: ["Ice", "Water"], - baseStats: { hp: 140, atk: 115, def: 110, spa: 55, spd: 65, spe: 35 }, - abilities: { 0: "Filter", 1: "Thick Fat", H: "Multiscale" }, - weightkg: 356, - eggGroups: ["Undiscovered"], - }, - jamborai: { - num: 2040, - name: "Jamborai", - types: ["Poison", "Psychic"], - baseStats: { hp: 75, atk: 55, def: 125, spa: 120, spd: 85, spe: 65 }, - abilities: { 0: "Clear Body", 1: "Gooey", H: "Water Absorb" }, - weightkg: 84, - eggGroups: ["Undiscovered"], - }, - dracoil: { - num: 2041, - name: "Dracoil", - types: ["Dragon", "Flying"], - baseStats: { hp: 105, atk: 106, def: 85, spa: 96, spd: 60, spe: 78 }, - abilities: { 0: "Mythical Presence", 1: "Gluttony", H: "Marvel Scale" }, - weightkg: 428, - eggGroups: ["Undiscovered"], - }, - celespirit: { - num: 2042, - name: "Celespirit", - types: ["Ghost"], - baseStats: { hp: 75, atk: 61, def: 73, spa: 117, spd: 135, spe: 69 }, - abilities: { 0: "Levitate", H: "Power Spot" }, - weightkg: 25.8, - eggGroups: ["Undiscovered"], - }, - noxtrice: { - num: 2043, - name: "Noxtrice", - types: ["Poison", "Fire"], - baseStats: { hp: 65, atk: 118, def: 75, spa: 63, spd: 80, spe: 114 }, - abilities: { 0: "Poison Touch", H: "Flash Fire" }, - weightkg: 73.7, - eggGroups: ["Undiscovered"], - }, - sturgard: { - num: 2055, - name: "Sturgard", - types: ["Water", "Ground"], - baseStats: { hp: 105, atk: 110, def: 105, spa: 65, spd: 70, spe: 70 }, - abilities: { 0: "Rock Head", 1: "Battle Armor", H: "Mold Breaker" }, - weightkg: 143, - eggGroups: ["Undiscovered"], - }, - avastar: { - num: 2034, - name: "Avastar", - types: ["Psychic", "Steel"], - baseStats: { hp: 75, atk: 85, def: 110, spa: 115, spd: 100, spe: 60 }, - abilities: { 0: "Stalwart", 1: "Heavy Metal", H: "Shell Bunker" }, - weightkg: 999.9, - eggGroups: ["Undiscovered"], - }, - faerenheit: { - num: 2044, - name: "Faerenheit", - types: ["Fire", "Fairy"], - baseStats: { hp: 71, atk: 83, def: 127, spa: 97, spd: 109, spe: 83 }, - abilities: { 0: "Beast Boost" }, - weightkg: 2.1, - eggGroups: ["Undiscovered"], - }, - cellsius: { - num: 2045, - name: "Cellsius", - types: ["Water", "Fairy"], - baseStats: { hp: 71, atk: 83, def: 83, spa: 109, spd: 127, spe: 97 }, - abilities: { 0: "Beast Boost" }, - weightkg: 2.4, - eggGroups: ["Undiscovered"], - }, - kelven: { - num: 2046, - name: "Kelven", - types: ["Ice", "Fairy"], - baseStats: { hp: 71, atk: 127, def: 109, spa: 83, spd: 83, spe: 97 }, - abilities: { 0: "Beast Boost" }, - weightkg: 2.8, - eggGroups: ["Undiscovered"], - }, - salaos: { - num: 2047, - name: "Salaos", - types: ["Dark"], - baseStats: { hp: 75, atk: 85, def: 90, spa: 110, spd: 130, spe: 90 }, - abilities: { 0: "Good as Gold" }, - weightkg: 74, - eggGroups: ["Undiscovered"], - }, - morndos: { - num: 2048, - name: "Morndos", - types: ["Dark", "Flying"], - baseStats: { hp: 110, atk: 90, def: 75, spa: 90, spd: 85, spe: 130 }, - abilities: { 0: "Synchronize" }, - weightkg: 56, - eggGroups: ["Undiscovered"], - }, - pythos: { - num: 2049, - name: "Pythos", - types: ["Dark"], - baseStats: { hp: 90, atk: 110, def: 130, spa: 85, spd: 90, spe: 75 }, - abilities: { 0: "Guts" }, - weightkg: 178, - eggGroups: ["Undiscovered"], - }, - corundell: { - num: 2050, - name: "Corundell", - types: ["Rock", "Electric"], - baseStats: { hp: 75, atk: 100, def: 130, spa: 105, spd: 80, spe: 110 }, - abilities: { 0: "Lightning Rod", H: "Protosynthesis" }, - weightkg: 137, - eggGroups: ["Undiscovered"], - }, - quadringo: { - num: 2051, - name: "Quadringo", - types: ["Fairy", "Dragon"], - baseStats: { hp: 80, atk: 120, def: 95, spa: 100, spd: 120, spe: 85 }, - abilities: { 0: "Hydration", 1: "Pastel Veil", H: "Inner Focus" }, - weightkg: 156, - eggGroups: ["Undiscovered"], - }, - saphor: { - num: 2052, - name: "Saphor", - types: ["Ground", "Normal"], - baseStats: { hp: 95, atk: 100, def: 105, spa: 100, spd: 105, spe: 95 }, - abilities: { 0: "Thick Fat", 1: "Crystal Heart" }, - weightkg: 638, - eggGroups: ["Undiscovered"], - }, - fenreil: { - num: 2053, - name: "Fenreil", - types: ["Dark", "Normal"], - baseStats: { hp: 80, atk: 105, def: 97, spa: 105, spd: 97, spe: 116 }, - abilities: { 0: "Natural Cure", 1: "Wild Heart" }, - weightkg: 232, - eggGroups: ["Undiscovered"], - }, - soleron: { - num: 2031, - name: "Soleron", - types: ["Electric", "Flying"], - baseStats: { hp: 70, atk: 75, def: 65, spa: 115, spd: 75, spe: 115 }, - abilities: { 0: "Battle Bond" }, - otherFormes: ["Soleron-Awakened"], - formeOrder: ["Soleron", "Soleron-Awakened"], - weightkg: 12, - eggGroups: ["Undiscovered"], - }, - soleronawakened: { - num: 2031, - name: "Soleron-Awakened", - baseSpecies: "Soleron", - forme: "Awakened", - types: ["Electric", "Flying"], - baseStats: { hp: 70, atk: 105, def: 85, spa: 135, spd: 95, spe: 125 }, - abilities: { 0: "Battle Bond" }, - requiredAbility: "Battle Bond", - battleOnly: "Soleron", - weightkg: 24, - eggGroups: ["Undiscovered"], - }, - efflor: { - num: 2032, - name: "Efflor", - types: ["Rock", "Grass"], - baseStats: { hp: 80, atk: 85, def: 110, spa: 105, spd: 110, spe: 25 }, - abilities: { 0: "Solid Rock", 1: "Unaware", H: "Seed Sower" }, - weightkg: 113, - eggGroups: ["Undiscovered"], - }, - pictagon: { - num: 2055, - name: "Pictagon", - types: ["Dragon", "Ghost"], - baseStats: { hp: 105, atk: 105, def: 60, spa: 80, spd: 85, spe: 95 }, - abilities: { 0: "Clear Body", 1: "Infiltrator", H: "No Guard" }, - weightkg: 113, - eggGroups: ["Undiscovered"], - }, - jaegorm: { - num: 2033, - name: "Jaegorm", - types: ["Bug", "Psychic"], - baseStats: { hp: 60, atk: 65, def: 40, spa: 130, spd: 40, spe: 130 }, - abilities: { 0: "Schooling" }, - otherFormes: ["Jaegorm-Collective"], - formeOrder: ["Jaegorm", "Jaegorm-Collective"], - weightkg: 10, - eggGroups: ["Undiscovered"], - }, - jaegormcollective: { - num: 2033, - name: "Jaegorm-Collective", - baseSpecies: "Jaegorm", - forme: "Collective", - types: ["Bug", "Psychic"], - baseStats: { hp: 60, atk: 145, def: 130, spa: 100, spd: 130, spe: 80 }, - abilities: { 0: "Schooling" }, - requiredAbility: "Schooling", - battleOnly: "Jaegorm", - weightkg: 122, - eggGroups: ["Undiscovered"], - }, - flocura: { - num: 2054, - name: "Flocura", - types: ["Grass", "Psychic"], - baseStats: { hp: 55, atk: 85, def: 55, spa: 107, spd: 180, spe: 118 }, - abilities: { 0: "Levitate", H: "Power Construct" }, - otherFormes: ["Flocura-Nexus"], - formeOrder: ["Flocura", "Flocura-Nexus"], - weightkg: 7.1, - eggGroups: ["Undiscovered"], - }, - flocuranexus: { - num: 2054, - name: "Flocura-Nexus", - baseSpecies: "Flocura", - forme: "Nexus", - types: ["Grass", "Psychic"], - baseStats: { hp: 105, atk: 125, def: 105, spa: 137, spd: 180, spe: 48 }, - abilities: { 0: "Levitate", H: "Power Construct" }, - requiredAbility: "Power Construct", - battleOnly: "Flocura", - weightkg: 999, - eggGroups: ["Undiscovered"], - }, -}; diff --git a/data/mods/scootopiav2/rulesets.ts b/data/mods/scootopiav2/rulesets.ts deleted file mode 100644 index 35ce7bd003..0000000000 --- a/data/mods/scootopiav2/rulesets.ts +++ /dev/null @@ -1,38 +0,0 @@ -export const Rulesets: import('../../../sim/dex-formats').ModdedFormatDataTable = { - supertypemovesrule: { - effectType: 'Rule', - name: 'Super Type Moves Rule', - desc: 'Prevents pokemon from using Crystal or Feral moves unless they have a matching type.', - onBeforeMove(pokemon, target, move) { - move = { - ...this.dex.moves.get(move), - hit: move.hit, - }; - if (move.type === "Crystal" && !pokemon.hasType("Crystal")) return false; - if (move.type === "Feral" && !pokemon.hasType("Feral")) return false; - }, - onDisableMove(pokemon) { - for (const moveSlot of pokemon.moveSlots) { - const move = this.dex.moves.get(moveSlot.id); - if ((move.type === "Crystal" && !pokemon.hasType("Crystal")) || (move.type === "Feral" && !pokemon.hasType("Feral"))) { - pokemon.disableMove(moveSlot.id, false); - } - } - }, - }, - spriteviewer: { - effectType: 'ValidatorRule', - name: 'Sprite Viewer', - desc: "Displays a fakemon's sprite in chat when it is switched in for the first time", - onBegin() { - this.add('rule', 'Sprite Viewer: Displays sprites in chat'); - }, - onSwitchIn(pokemon) { - if (!this.effectState[pokemon.species.id]) { - this.add('-message', `${pokemon.species.name}'s Sprite:`); - this.add(`raw|`); - this.effectState[pokemon.species.id] = true; - } - }, - }, -}; diff --git a/data/mods/scootopiav2/typechart.ts b/data/mods/scootopiav2/typechart.ts deleted file mode 100644 index 3b253d0eff..0000000000 --- a/data/mods/scootopiav2/typechart.ts +++ /dev/null @@ -1,530 +0,0 @@ -export const TypeChart: import('../../../sim/dex-data').ModdedTypeDataTable = { - bug: { - damageTaken: { - Bug: 0, - Dark: 0, - Dragon: 0, - Electric: 0, - Fairy: 0, - Fighting: 2, - Fire: 1, - Flying: 1, - Ghost: 0, - Grass: 2, - Ground: 2, - Ice: 0, - Normal: 0, - Poison: 0, - Psychic: 0, - Rock: 1, - Steel: 0, - Water: 0, - Crystal: 0, - Feral: 0, - }, - HPivs: { atk: 30, def: 30, spd: 30 }, - HPdvs: { atk: 13, def: 13 }, - }, - dark: { - damageTaken: { - prankster: 3, - Bug: 1, - Dark: 2, - Dragon: 0, - Electric: 0, - Fairy: 1, - Fighting: 1, - Fire: 0, - Flying: 0, - Ghost: 2, - Grass: 0, - Ground: 0, - Ice: 0, - Normal: 0, - Poison: 0, - Psychic: 3, - Rock: 0, - Steel: 0, - Water: 0, - Crystal: 1, - Feral: 0, - }, - HPivs: {}, - }, - dragon: { - damageTaken: { - Bug: 0, - Dark: 0, - Dragon: 1, - Electric: 2, - Fairy: 1, - Fighting: 0, - Fire: 2, - Flying: 0, - Ghost: 0, - Grass: 2, - Ground: 0, - Ice: 1, - Normal: 0, - Poison: 0, - Psychic: 0, - Rock: 0, - Steel: 0, - Water: 2, - Crystal: 0, - Feral: 2, - }, - HPivs: { atk: 30 }, - HPdvs: { def: 14 }, - }, - electric: { - damageTaken: { - par: 3, - Bug: 0, - Dark: 0, - Dragon: 0, - Electric: 2, - Fairy: 0, - Fighting: 0, - Fire: 0, - Flying: 2, - Ghost: 0, - Grass: 0, - Ground: 1, - Ice: 0, - Normal: 0, - Poison: 0, - Psychic: 0, - Rock: 0, - Steel: 2, - Water: 0, - Crystal: 2, - Feral: 0, - }, - HPivs: { spa: 30 }, - HPdvs: { atk: 14 }, - }, - fairy: { - damageTaken: { - Bug: 2, - Dark: 2, - Dragon: 3, - Electric: 0, - Fairy: 0, - Fighting: 2, - Fire: 0, - Flying: 0, - Ghost: 0, - Grass: 0, - Ground: 0, - Ice: 0, - Normal: 0, - Poison: 1, - Psychic: 0, - Rock: 0, - Steel: 1, - Water: 0, - Crystal: 0, - Feral: 1, - }, - }, - fighting: { - damageTaken: { - Bug: 2, - Dark: 2, - Dragon: 0, - Electric: 0, - Fairy: 1, - Fighting: 0, - Fire: 0, - Flying: 1, - Ghost: 0, - Grass: 0, - Ground: 0, - Ice: 0, - Normal: 0, - Poison: 0, - Psychic: 1, - Rock: 2, - Steel: 0, - Water: 0, - Crystal: 2, - Feral: 0, - }, - HPivs: { def: 30, spa: 30, spd: 30, spe: 30 }, - HPdvs: { atk: 12, def: 12 }, - }, - fire: { - damageTaken: { - brn: 3, - Bug: 2, - Dark: 0, - Dragon: 0, - Electric: 0, - Fairy: 2, - Fighting: 0, - Fire: 2, - Flying: 0, - Ghost: 0, - Grass: 2, - Ground: 1, - Ice: 2, - Normal: 0, - Poison: 0, - Psychic: 0, - Rock: 1, - Steel: 2, - Water: 1, - Crystal: 1, - Feral: 2, - }, - HPivs: { atk: 30, spa: 30, spe: 30 }, - HPdvs: { atk: 14, def: 12 }, - }, - flying: { - damageTaken: { - Bug: 2, - Dark: 0, - Dragon: 0, - Electric: 1, - Fairy: 0, - Fighting: 2, - Fire: 0, - Flying: 0, - Ghost: 0, - Grass: 2, - Ground: 3, - Ice: 1, - Normal: 0, - Poison: 0, - Psychic: 0, - Rock: 1, - Steel: 0, - Water: 0, - Crystal: 0, - Feral: 1, - }, - HPivs: { hp: 30, atk: 30, def: 30, spa: 30, spd: 30 }, - HPdvs: { atk: 12, def: 13 }, - }, - ghost: { - damageTaken: { - trapped: 3, - Bug: 2, - Dark: 1, - Dragon: 0, - Electric: 0, - Fairy: 0, - Fighting: 3, - Fire: 0, - Flying: 0, - Ghost: 1, - Grass: 0, - Ground: 0, - Ice: 0, - Normal: 3, - Poison: 2, - Psychic: 0, - Rock: 0, - Steel: 0, - Water: 0, - Crystal: 1, - Feral: 2, - }, - HPivs: { def: 30, spd: 30 }, - HPdvs: { atk: 13, def: 14 }, - }, - grass: { - damageTaken: { - powder: 3, - Bug: 1, - Dark: 0, - Dragon: 0, - Electric: 2, - Fairy: 0, - Fighting: 0, - Fire: 1, - Flying: 1, - Ghost: 0, - Grass: 2, - Ground: 2, - Ice: 1, - Normal: 0, - Poison: 1, - Psychic: 0, - Rock: 0, - Steel: 0, - Water: 2, - Crystal: 0, - Feral: 1, - }, - HPivs: { atk: 30, spa: 30 }, - HPdvs: { atk: 14, def: 14 }, - }, - ground: { - damageTaken: { - sandstorm: 3, - Bug: 0, - Dark: 0, - Dragon: 0, - Electric: 3, - Fairy: 0, - Fighting: 0, - Fire: 0, - Flying: 0, - Ghost: 0, - Grass: 1, - Ground: 0, - Ice: 1, - Normal: 0, - Poison: 2, - Psychic: 0, - Rock: 2, - Steel: 0, - Water: 1, - Crystal: 0, - Feral: 0, - }, - HPivs: { spa: 30, spd: 30 }, - HPdvs: { atk: 12 }, - }, - ice: { - damageTaken: { - hail: 3, - frz: 3, - Bug: 0, - Dark: 0, - Dragon: 0, - Electric: 0, - Fairy: 0, - Fighting: 1, - Fire: 1, - Flying: 0, - Ghost: 0, - Grass: 0, - Ground: 0, - Ice: 2, - Normal: 0, - Poison: 0, - Psychic: 0, - Rock: 1, - Steel: 1, - Water: 0, - Crystal: 0, - Feral: 0, - }, - HPivs: { atk: 30, def: 30 }, - HPdvs: { def: 13 }, - }, - normal: { - damageTaken: { - Bug: 0, - Dark: 0, - Dragon: 0, - Electric: 0, - Fairy: 0, - Fighting: 1, - Fire: 0, - Flying: 0, - Ghost: 3, - Grass: 0, - Ground: 0, - Ice: 0, - Normal: 0, - Poison: 0, - Psychic: 0, - Rock: 0, - Steel: 0, - Water: 0, - Crystal: 0, - Feral: 1, - }, - }, - poison: { - damageTaken: { - psn: 3, - tox: 3, - Bug: 2, - Dark: 0, - Dragon: 0, - Electric: 0, - Fairy: 2, - Fighting: 2, - Fire: 0, - Flying: 0, - Ghost: 0, - Grass: 2, - Ground: 1, - Ice: 0, - Normal: 0, - Poison: 2, - Psychic: 1, - Rock: 0, - Steel: 0, - Water: 0, - Crystal: 0, - Feral: 2, - }, - HPivs: { def: 30, spa: 30, spd: 30 }, - HPdvs: { atk: 12, def: 14 }, - }, - psychic: { - damageTaken: { - Bug: 1, - Dark: 1, - Dragon: 0, - Electric: 0, - Fairy: 0, - Fighting: 2, - Fire: 0, - Flying: 0, - Ghost: 1, - Grass: 0, - Ground: 0, - Ice: 0, - Normal: 0, - Poison: 0, - Psychic: 2, - Rock: 0, - Steel: 0, - Water: 0, - Crystal: 0, - Feral: 0, - }, - HPivs: { atk: 30, spe: 30 }, - HPdvs: { def: 12 }, - }, - rock: { - damageTaken: { - sandstorm: 3, - Bug: 0, - Dark: 0, - Dragon: 0, - Electric: 0, - Fairy: 0, - Fighting: 1, - Fire: 2, - Flying: 2, - Ghost: 0, - Grass: 1, - Ground: 1, - Ice: 0, - Normal: 2, - Poison: 2, - Psychic: 0, - Rock: 0, - Steel: 1, - Water: 1, - Crystal: 0, - Feral: 0, - }, - HPivs: { def: 30, spd: 30, spe: 30 }, - HPdvs: { atk: 13, def: 12 }, - }, - steel: { - damageTaken: { - psn: 3, - tox: 3, - sandstorm: 3, - Bug: 2, - Dark: 0, - Dragon: 2, - Electric: 0, - Fairy: 2, - Fighting: 1, - Fire: 1, - Flying: 2, - Ghost: 0, - Grass: 2, - Ground: 1, - Ice: 2, - Normal: 2, - Poison: 3, - Psychic: 2, - Rock: 2, - Steel: 2, - Water: 0, - Crystal: 2, - Feral: 0, - }, - HPivs: { spd: 30 }, - HPdvs: { atk: 13 }, - }, - water: { - damageTaken: { - Bug: 0, - Dark: 0, - Dragon: 0, - Electric: 1, - Fairy: 0, - Fighting: 0, - Fire: 2, - Flying: 0, - Ghost: 0, - Grass: 1, - Ground: 0, - Ice: 2, - Normal: 0, - Poison: 0, - Psychic: 0, - Rock: 0, - Steel: 2, - Water: 2, - Crystal: 0, - Feral: 1, - }, - HPivs: { atk: 30, def: 30, spa: 30 }, - HPdvs: { atk: 14, def: 13 }, - }, - crystal: { - damageTaken: { - brn: 3, - sandstorm: 3, - Bug: 0, - Dark: 2, - Dragon: 0, - Electric: 1, - Fairy: 0, - Fighting: 1, - Fire: 2, - Flying: 0, - Ghost: 0, - Grass: 0, - Ground: 2, - Ice: 0, - Normal: 2, - Poison: 0, - Psychic: 0, - Rock: 2, - Steel: 1, - Water: 2, - Crystal: 2, - Feral: 2, - }, - }, - feral: { - damageTaken: { - slp: 3, - Bug: 0, - Dark: 0, - Dragon: 1, - Electric: 0, - Fairy: 2, - Fighting: 0, - Fire: 1, - Flying: 0, - Ghost: 2, - Grass: 0, - Ground: 0, - Ice: 2, - Normal: 0, - Poison: 1, - Psychic: 0, - Rock: 0, - Steel: 0, - Water: 0, - Crystal: 0, - Feral: 0, - }, - }, -}; diff --git a/data/mods/sixbysix/formats-data.ts b/data/mods/sixbysix/formats-data.ts new file mode 100644 index 0000000000..40e510453d --- /dev/null +++ b/data/mods/sixbysix/formats-data.ts @@ -0,0 +1,113 @@ +export const FormatsData: import('../../../sim/dex-species').ModdedSpeciesFormatsDataTable = { + kingdraclassic: { + tier: "OU", + }, + kingdrabrinepool: { + tier: "OU", + }, + kingdradruid: { + tier: "OU", + }, + kingdrabard: { + tier: "OU", + }, + kingdragourmet: { + tier: "OU", + }, + kingdraancient: { + tier: "OU", + }, + nidoqueenclassic: { + tier: "OU", + }, + nidoqueenerudite: { + tier: "OU", + }, + nidoqueenvolcanic: { + tier: "OU", + }, + nidoqueenrosegold: { + tier: "OU", + }, + nidoqueenshaman: { + tier: "OU", + }, + nidoqueenjasper: { + tier: "OU", + }, + bisharpcenturion: { + tier: "OU", + }, + bisharpsavage: { + tier: "OU", + }, + bisharpronin: { + tier: "OU", + }, + bisharpmantis: { + tier: "OU", + }, + bisharprevenant: { + tier: "OU", + }, + bisharpassassin: { + tier: "OU", + }, + corviknightthunderbird: { + tier: "OU", + }, + corviknightgenie: { + tier: "OU", + }, + corviknightyeti: { + tier: "OU", + }, + corviknightanalytical: { + tier: "OU", + }, + corviknightmartian: { + tier: "OU", + }, + corviknightfalcon: { + tier: "OU", + }, + krookodileinfernal: { + tier: "OU", + }, + krookodileabyssal: { + tier: "OU", + }, + krookodilewetlander: { + tier: "OU", + }, + krookodilecavedweller: { + tier: "OU", + }, + krookodilecliffside: { + tier: "OU", + }, + krookodilequantum: { + tier: "OU", + }, + ogerponmuerta: { + tier: "OU", + }, + ogerponeaster: { + tier: "OU", + }, + ogerponankh: { + tier: "OU", + }, + ogerponeid: { + tier: "OU", + }, + ogerponvessel: { + tier: "OU", + }, + ogerponkitsune: { + tier: "OU", + }, + ogerpontealtera: { + tier: "Illegal", + }, +}; diff --git a/data/mods/sixbysix/items.ts b/data/mods/sixbysix/items.ts new file mode 100644 index 0000000000..df1a3f90c0 --- /dev/null +++ b/data/mods/sixbysix/items.ts @@ -0,0 +1,32 @@ +export const Items: import('../../../sim/dex-items').ModdedItemDataTable = { + cornerstonemask: { + name: "Cornerstone Mask", + spritenum: 758, + fling: { + basePower: 60, + }, + num: 2406, + gen: 9, + desc: "No competitive use.", + }, + hearthflamemask: { + name: "Hearthflame Mask", + spritenum: 760, + fling: { + basePower: 60, + }, + desc: "No competitive use.", + num: 2408, + gen: 9, + }, + wellspringmask: { + name: "Wellspring Mask", + spritenum: 759, + fling: { + basePower: 60, + }, + desc: "No competitive use.", + num: 2407, + gen: 9, + }, +}; diff --git a/data/mods/sixbysix/learnsets.ts b/data/mods/sixbysix/learnsets.ts new file mode 100644 index 0000000000..593627bd62 --- /dev/null +++ b/data/mods/sixbysix/learnsets.ts @@ -0,0 +1,2580 @@ +export const Learnsets: import('../../../sim/dex-species').ModdedLearnsetDataTable = { + kingdraclassic: { + learnset: { + aquajet: ["9L1"], + bodyslam: ["9L1"], + doubleedge: ["9L1"], + dragonhammer: ["9L1"], + dragontail: ["9L1"], + facade: ["9L1"], + flipturn: ["9L1"], + knockoff: ["9L1"], + liquidation: ["9L1"], + outrage: ["9L1"], + waterfall: ["9L1"], + wavecrash: ["9L1"], + breakingswipe: ["9L1"], + dragonrush: ["9L1"], + flail: ["9L1"], + gigaimpact: ["9L1"], + scaleshot: ["9L1"], + takedown: ["9L1"], + blizzard: ["9L1"], + clearsmog: ["9L1"], + dracometeor: ["9L1"], + dragonpulse: ["9L1"], + hydropump: ["9L1"], + icebeam: ["9L1"], + scald: ["9L1"], + surf: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + aurorabeam: ["9L1"], + bubblebeam: ["9L1"], + chillingwater: ["9L1"], + dragonbreath: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + muddywater: ["9L1"], + swift: ["9L1"], + twister: ["9L1"], + watergun: ["9L1"], + waterpulse: ["9L1"], + whirlpool: ["9L1"], + agility: ["9L1"], + disable: ["9L1"], + dragondance: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + dragoncheer: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + leer: ["9L1"], + raindance: ["9L1"], + scaryface: ["9L1"], + smokescreen: ["9L1"], + snowscape: ["9L1"], + splash: ["9L1"], + yawn: ["9L1"], + }, + }, + kingdrabrinepool: { + learnset: { + gunkshot: ["9L1"], + mortalspin: ["9L1"], + sludgebomb: ["9L1"], + sludgewave: ["9L1"], + toxic: ["9L1"], + watershuriken: ["9L1"], + acid: ["9L1"], + acidspray: ["9L1"], + aquaring: ["9L1"], + sludge: ["9L1"], + venoshock: ["9L1"], + aquajet: ["9L1"], + bodyslam: ["9L1"], + doubleedge: ["9L1"], + dragontail: ["9L1"], + facade: ["9L1"], + flipturn: ["9L1"], + knockoff: ["9L1"], + liquidation: ["9L1"], + waterfall: ["9L1"], + wavecrash: ["9L1"], + flail: ["9L1"], + gigaimpact: ["9L1"], + takedown: ["9L1"], + clearsmog: ["9L1"], + hydropump: ["9L1"], + scald: ["9L1"], + surf: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + bubblebeam: ["9L1"], + chillingwater: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + muddywater: ["9L1"], + swift: ["9L1"], + watergun: ["9L1"], + waterpulse: ["9L1"], + whirlpool: ["9L1"], + agility: ["9L1"], + disable: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + leer: ["9L1"], + raindance: ["9L1"], + scaryface: ["9L1"], + smokescreen: ["9L1"], + snowscape: ["9L1"], + splash: ["9L1"], + yawn: ["9L1"], + }, + }, + nidoqueenclassic: { + learnset: { + aquatail: ["9L1"], + barbbarrage: ["9L1"], + bodyslam: ["9L1"], + brickbreak: ["9L1"], + counter: ["9L1"], + crunch: ["9L1"], + dragontail: ["9L1"], + drillrun: ["9L1"], + earthquake: ["9L1"], + facade: ["9L1"], + firepunch: ["9L1"], + focuspunch: ["9L1"], + highhorsepower: ["9L1"], + icepunch: ["9L1"], + outrage: ["9L1"], + poisonjab: ["9L1"], + rockblast: ["9L1"], + rockslide: ["9L1"], + seismictoss: ["9L1"], + shadowclaw: ["9L1"], + smackdown: ["9L1"], + stoneedge: ["9L1"], + suckerpunch: ["9L1"], + superfang: ["9L1"], + superpower: ["9L1"], + throatchop: ["9L1"], + thunderpunch: ["9L1"], + aerialace: ["9L1"], + beatup: ["9L1"], + bite: ["9L1"], + bulldoze: ["9L1"], + cut: ["9L1"], + dig: ["9L1"], + doublekick: ["9L1"], + dynamicpunch: ["9L1"], + fissure: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + furyswipes: ["9L1"], + gigaimpact: ["9L1"], + headbutt: ["9L1"], + horndrill: ["9L1"], + irontail: ["9L1"], + megakick: ["9L1"], + payday: ["9L1"], + poisonfang: ["9L1"], + poisonsting: ["9L1"], + poisontail: ["9L1"], + rocksmash: ["9L1"], + rocktomb: ["9L1"], + sandtomb: ["9L1"], + scratch: ["9L1"], + stompingtantrum: ["9L1"], + strength: ["9L1"], + tackle: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + blizzard: ["9L1"], + dragonpulse: ["9L1"], + earthpower: ["9L1"], + fireblast: ["9L1"], + flamethrower: ["9L1"], + focusblast: ["9L1"], + hex: ["9L1"], + icebeam: ["9L1"], + shadowball: ["9L1"], + sludgebomb: ["9L1"], + sludgewave: ["9L1"], + surf: ["9L1"], + terablast: ["9L1"], + thunder: ["9L1"], + thunderbolt: ["9L1"], + bubblebeam: ["9L1"], + echoedvoice: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + incinerate: ["9L1"], + mudshot: ["9L1"], + mudslap: ["9L1"], + round: ["9L1"], + shockwave: ["9L1"], + snore: ["9L1"], + uproar: ["9L1"], + venoshock: ["9L1"], + watergun: ["9L1"], + waterpulse: ["9L1"], + whirlpool: ["9L1"], + curse: ["9L1"], + detect: ["9L1"], + disable: ["9L1"], + honeclaws: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + roar: ["9L1"], + slackoff: ["9L1"], + sleeptalk: ["9L1"], + spikes: ["9L1"], + substitute: ["9L1"], + taunt: ["9L1"], + toxic: ["9L1"], + toxicspikes: ["9L1"], + wish: ["9L1"], + attract: ["9L1"], + charm: ["9L1"], + confide: ["9L1"], + defensecurl: ["9L1"], + doubleteam: ["9L1"], + endure: ["9L1"], + flatter: ["9L1"], + focusenergy: ["9L1"], + growl: ["9L1"], + helpinghand: ["9L1"], + mimic: ["9L1"], + quash: ["9L1"], + raindance: ["9L1"], + sandstorm: ["9L1"], + sunnyday: ["9L1"], + supersonic: ["9L1"], + swagger: ["9L1"], + tailwhip: ["9L1"], + torment: ["9L1"], + }, + }, + nidoqueenerudite: { + learnset: { + calmmind: ["9L1"], + chillyreception: ["9L1"], + expandingforce: ["9L1"], + futuresight: ["9L1"], + psychic: ["9L1"], + psychicnoise: ["9L1"], + psyshock: ["9L1"], + trickroom: ["9L1"], + zenheadbutt: ["9L1"], + amnesia: ["9L1"], + confusion: ["9L1"], + healpulse: ["9L1"], + imprison: ["9L1"], + magicroom: ["9L1"], + psybeam: ["9L1"], + psychicterrain: ["9L1"], + skillswap: ["9L1"], + wonderroom: ["9L1"], + aquatail: ["9L1"], + bodyslam: ["9L1"], + counter: ["9L1"], + crunch: ["9L1"], + dragontail: ["9L1"], + drillrun: ["9L1"], + earthquake: ["9L1"], + facade: ["9L1"], + firepunch: ["9L1"], + highhorsepower: ["9L1"], + icepunch: ["9L1"], + rockblast: ["9L1"], + rockslide: ["9L1"], + seismictoss: ["9L1"], + shadowclaw: ["9L1"], + smackdown: ["9L1"], + stoneedge: ["9L1"], + superfang: ["9L1"], + throatchop: ["9L1"], + thunderpunch: ["9L1"], + aerialace: ["9L1"], + beatup: ["9L1"], + bite: ["9L1"], + bulldoze: ["9L1"], + cut: ["9L1"], + dig: ["9L1"], + doublekick: ["9L1"], + fissure: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + furyswipes: ["9L1"], + gigaimpact: ["9L1"], + headbutt: ["9L1"], + horndrill: ["9L1"], + irontail: ["9L1"], + megakick: ["9L1"], + payday: ["9L1"], + rocksmash: ["9L1"], + rocktomb: ["9L1"], + sandtomb: ["9L1"], + scratch: ["9L1"], + stompingtantrum: ["9L1"], + strength: ["9L1"], + tackle: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + blizzard: ["9L1"], + dragonpulse: ["9L1"], + earthpower: ["9L1"], + fireblast: ["9L1"], + flamethrower: ["9L1"], + focusblast: ["9L1"], + icebeam: ["9L1"], + shadowball: ["9L1"], + surf: ["9L1"], + terablast: ["9L1"], + thunder: ["9L1"], + thunderbolt: ["9L1"], + bubblebeam: ["9L1"], + echoedvoice: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + incinerate: ["9L1"], + mudshot: ["9L1"], + mudslap: ["9L1"], + round: ["9L1"], + shockwave: ["9L1"], + snore: ["9L1"], + uproar: ["9L1"], + watergun: ["9L1"], + waterpulse: ["9L1"], + whirlpool: ["9L1"], + curse: ["9L1"], + detect: ["9L1"], + disable: ["9L1"], + honeclaws: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + roar: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + taunt: ["9L1"], + wish: ["9L1"], + attract: ["9L1"], + charm: ["9L1"], + confide: ["9L1"], + defensecurl: ["9L1"], + doubleteam: ["9L1"], + endure: ["9L1"], + flatter: ["9L1"], + focusenergy: ["9L1"], + growl: ["9L1"], + helpinghand: ["9L1"], + mimic: ["9L1"], + raindance: ["9L1"], + sandstorm: ["9L1"], + sunnyday: ["9L1"], + supersonic: ["9L1"], + tailwhip: ["9L1"], + }, + }, + bisharpcenturion: { + learnset: { + bodypress: ["9L1"], + brickbreak: ["9L1"], + bulletpunch: ["9L1"], + drainpunch: ["9L1"], + facade: ["9L1"], + focuspunch: ["9L1"], + foulplay: ["9L1"], + hammerarm: ["9L1"], + ironhead: ["9L1"], + lowkick: ["9L1"], + nightslash: ["9L1"], + poisonjab: ["9L1"], + shadowclaw: ["9L1"], + superpower: ["9L1"], + xscissor: ["9L1"], + bulldoze: ["9L1"], + dig: ["9L1"], + dynamicpunch: ["9L1"], + falseswipe: ["9L1"], + feint: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + gigaimpact: ["9L1"], + guillotine: ["9L1"], + headbutt: ["9L1"], + lowsweep: ["9L1"], + metalburst: ["9L1"], + metalclaw: ["9L1"], + retaliate: ["9L1"], + reversal: ["9L1"], + scratch: ["9L1"], + slash: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + upperhand: ["9L1"], + airslash: ["9L1"], + flashcannon: ["9L1"], + focusblast: ["9L1"], + grassknot: ["9L1"], + steelbeam: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + hyperbeam: ["9L1"], + bulkup: ["9L1"], + curse: ["9L1"], + detect: ["9L1"], + irondefense: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + stealthrock: ["9L1"], + substitute: ["9L1"], + switcheroo: ["9L1"], + swordsdance: ["9L1"], + taunt: ["9L1"], + thunderwave: ["9L1"], + coaching: ["9L1"], + endure: ["9L1"], + leer: ["9L1"], + meanlook: ["9L1"], + metalsound: ["9L1"], + sandstorm: ["9L1"], + sunnyday: ["9L1"], + scaryface: ["9L1"], + spite: ["9L1"], + torment: ["9L1"], + wideguard: ["9L1"], + }, + }, + bisharpsavage: { + learnset: { + knockoff: ["9L1"], + powerwhip: ["9L1"], + leafblade: ["9L1"], + bulletseed: ["9L1"], + grassyglide: ["9L1"], + seedbomb: ["9L1"], + leechseed: ["9L1"], + vinewhip: ["9L1"], + branchpoke: ["9L1"], + leafage: ["9L1"], + megadrain: ["9L1"], + absorb: ["9L1"], + grassyterrain: ["9L1"], + razorleaf: ["9L1"], + bodypress: ["9L1"], + brickbreak: ["9L1"], + bulletpunch: ["9L1"], + facade: ["9L1"], + focuspunch: ["9L1"], + foulplay: ["9L1"], + ironhead: ["9L1"], + nightslash: ["9L1"], + poisonjab: ["9L1"], + superpower: ["9L1"], + xscissor: ["9L1"], + bulldoze: ["9L1"], + dig: ["9L1"], + dynamicpunch: ["9L1"], + falseswipe: ["9L1"], + feint: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + gigaimpact: ["9L1"], + guillotine: ["9L1"], + headbutt: ["9L1"], + lowsweep: ["9L1"], + metalburst: ["9L1"], + metalclaw: ["9L1"], + retaliate: ["9L1"], + reversal: ["9L1"], + scratch: ["9L1"], + slash: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + flashcannon: ["9L1"], + grassknot: ["9L1"], + steelbeam: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + hyperbeam: ["9L1"], + bulkup: ["9L1"], + curse: ["9L1"], + irondefense: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + stealthrock: ["9L1"], + substitute: ["9L1"], + thunderwave: ["9L1"], + coaching: ["9L1"], + endure: ["9L1"], + leer: ["9L1"], + meanlook: ["9L1"], + metalsound: ["9L1"], + sandstorm: ["9L1"], + sunnyday: ["9L1"], + scaryface: ["9L1"], + spite: ["9L1"], + torment: ["9L1"], + wideguard: ["9L1"], + }, + }, + corviknightthunderbird: { + learnset: { + acrobatics: ["9L1"], + bodypress: ["9L1"], + bodyslam: ["9L1"], + bravebird: ["9L1"], + doubleedge: ["9L1"], + drillpeck: ["9L1"], + facade: ["9L1"], + supercellslam: ["9L1"], + uturn: ["9L1"], + aerialace: ["9L1"], + dualwingbeat: ["9L1"], + fly: ["9L1"], + furyattack: ["9L1"], + gigaimpact: ["9L1"], + peck: ["9L1"], + pluck: ["9L1"], + powertrip: ["9L1"], + skyattack: ["9L1"], + spark: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + wildcharge: ["9L1"], + airslash: ["9L1"], + discharge: ["9L1"], + heatwave: ["9L1"], + hurricane: ["9L1"], + terablast: ["9L1"], + thunder: ["9L1"], + thunderbolt: ["9L1"], + voltswitch: ["9L1"], + aircutter: ["9L1"], + chargebeam: ["9L1"], + electroball: ["9L1"], + hyperbeam: ["9L1"], + swift: ["9L1"], + thundershock: ["9L1"], + zapcannon: ["9L1"], + agility: ["9L1"], + curse: ["9L1"], + defog: ["9L1"], + honeclaws: ["9L1"], + irondefense: ["9L1"], + lightscreen: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + roost: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + tailwind: ["9L1"], + electricterrain: ["9L1"], + endure: ["9L1"], + faketears: ["9L1"], + leer: ["9L1"], + raindance: ["9L1"], + sandattack: ["9L1"], + scaryface: ["9L1"], + screech: ["9L1"], + spite: ["9L1"], + swagger: ["9L1"], + }, + }, + corviknightgenie: { + learnset: { + calmmind: ["9L1"], + earthpower: ["9L1"], + earthquake: ["9L1"], + powergem: ["9L1"], + sandsearstorm: ["9L1"], + scorchingsands: ["9L1"], + stealthrock: ["9L1"], + dig: ["9L1"], + sandstorm: ["9L1"], + acrobatics: ["9L1"], + bodyslam: ["9L1"], + doubleedge: ["9L1"], + facade: ["9L1"], + uturn: ["9L1"], + aerialace: ["9L1"], + dualwingbeat: ["9L1"], + fly: ["9L1"], + furyattack: ["9L1"], + gigaimpact: ["9L1"], + peck: ["9L1"], + pluck: ["9L1"], + powertrip: ["9L1"], + skyattack: ["9L1"], + spark: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + heatwave: ["9L1"], + terablast: ["9L1"], + thunder: ["9L1"], + thunderbolt: ["9L1"], + voltswitch: ["9L1"], + aircutter: ["9L1"], + chargebeam: ["9L1"], + electroball: ["9L1"], + hyperbeam: ["9L1"], + swift: ["9L1"], + thundershock: ["9L1"], + agility: ["9L1"], + curse: ["9L1"], + defog: ["9L1"], + honeclaws: ["9L1"], + irondefense: ["9L1"], + lightscreen: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + tailwind: ["9L1"], + electricterrain: ["9L1"], + endure: ["9L1"], + faketears: ["9L1"], + leer: ["9L1"], + raindance: ["9L1"], + sandattack: ["9L1"], + scaryface: ["9L1"], + screech: ["9L1"], + spite: ["9L1"], + swagger: ["9L1"], + }, + }, + krookodileinfernal: { + learnset: { + bodyslam: ["9L1"], + brickbreak: ["9L1"], + counter: ["9L1"], + crunch: ["9L1"], + doubleedge: ["9L1"], + dragonclaw: ["9L1"], + dragontail: ["9L1"], + endeavor: ["9L1"], + facade: ["9L1"], + firefang: ["9L1"], + firelash: ["9L1"], + flamecharge: ["9L1"], + flareblitz: ["9L1"], + focuspunch: ["9L1"], + foulplay: ["9L1"], + gunkshot: ["9L1"], + knockoff: ["9L1"], + lashout: ["9L1"], + outrage: ["9L1"], + shadowclaw: ["9L1"], + throatchop: ["9L1"], + aerialace: ["9L1"], + bite: ["9L1"], + breakingswipe: ["9L1"], + fling: ["9L1"], + gigaimpact: ["9L1"], + powertrip: ["9L1"], + scaleshot: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + thrash: ["9L1"], + darkpulse: ["9L1"], + dragonpulse: ["9L1"], + eruption: ["9L1"], + fierywrath: ["9L1"], + fireblast: ["9L1"], + flamethrower: ["9L1"], + heatwave: ["9L1"], + magmastorm: ["9L1"], + overheat: ["9L1"], + sludgebomb: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + burningjealousy: ["9L1"], + ember: ["9L1"], + firespin: ["9L1"], + hyperbeam: ["9L1"], + incinerate: ["9L1"], + inferno: ["9L1"], + snarl: ["9L1"], + curse: ["9L1"], + encore: ["9L1"], + partingshot: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + switcheroo: ["9L1"], + taunt: ["9L1"], + willowisp: ["9L1"], + endure: ["9L1"], + helpinghand: ["9L1"], + leer: ["9L1"], + memento: ["9L1"], + sunnyday: ["9L1"], + scaryface: ["9L1"], + spite: ["9L1"], + swagger: ["9L1"], + torment: ["9L1"], + }, + }, + krookodileabyssal: { + learnset: { + dragondance: ["9L1"], + earthquake: ["9L1"], + hydropump: ["9L1"], + liquidation: ["9L1"], + stoneedge: ["9L1"], + bodyslam: ["9L1"], + brickbreak: ["9L1"], + counter: ["9L1"], + crunch: ["9L1"], + doubleedge: ["9L1"], + dragonclaw: ["9L1"], + dragontail: ["9L1"], + endeavor: ["9L1"], + facade: ["9L1"], + flamecharge: ["9L1"], + flareblitz: ["9L1"], + focuspunch: ["9L1"], + foulplay: ["9L1"], + gunkshot: ["9L1"], + knockoff: ["9L1"], + lashout: ["9L1"], + outrage: ["9L1"], + shadowclaw: ["9L1"], + throatchop: ["9L1"], + aerialace: ["9L1"], + bite: ["9L1"], + breakingswipe: ["9L1"], + fling: ["9L1"], + gigaimpact: ["9L1"], + powertrip: ["9L1"], + scaleshot: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + thrash: ["9L1"], + dragonpulse: ["9L1"], + sludgebomb: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + burningjealousy: ["9L1"], + ember: ["9L1"], + firespin: ["9L1"], + hyperbeam: ["9L1"], + incinerate: ["9L1"], + inferno: ["9L1"], + snarl: ["9L1"], + curse: ["9L1"], + encore: ["9L1"], + partingshot: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + switcheroo: ["9L1"], + taunt: ["9L1"], + willowisp: ["9L1"], + endure: ["9L1"], + helpinghand: ["9L1"], + leer: ["9L1"], + memento: ["9L1"], + sunnyday: ["9L1"], + scaryface: ["9L1"], + spite: ["9L1"], + swagger: ["9L1"], + torment: ["9L1"], + }, + }, + ogerponmuerta: { + learnset: { + facade: ["9L1"], + knockoff: ["9L1"], + lashout: ["9L1"], + poltergeist: ["9L1"], + quickattack: ["9L1"], + shadowclaw: ["9L1"], + shadowsneak: ["9L1"], + throatchop: ["9L1"], + uturn: ["9L1"], + astonish: ["9L1"], + falseswipe: ["9L1"], + fling: ["9L1"], + gigaimpact: ["9L1"], + phantomforce: ["9L1"], + retaliate: ["9L1"], + rocktomb: ["9L1"], + slam: ["9L1"], + takedown: ["9L1"], + dazzlinggleam: ["9L1"], + drainingkiss: ["9L1"], + fleurcannon: ["9L1"], + hex: ["9L1"], + nightshade: ["9L1"], + shadowball: ["9L1"], + taunt: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + disarmingvoice: ["9L1"], + icywind: ["9L1"], + hyperbeam: ["9L1"], + batonpass: ["9L1"], + curse: ["9L1"], + destinybond: ["9L1"], + disable: ["9L1"], + perishsong: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + thunderwave: ["9L1"], + trick: ["9L1"], + trickroom: ["9L1"], + willowisp: ["9L1"], + babydolleyes: ["9L1"], + charm: ["9L1"], + confuseray: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + followme: ["9L1"], + gravity: ["9L1"], + growth: ["9L1"], + helpinghand: ["9L1"], + imprison: ["9L1"], + magicroom: ["9L1"], + metronome: ["9L1"], + mistyterrain: ["9L1"], + scaryface: ["9L1"], + spite: ["9L1"], + }, + }, + ogerponeaster: { + learnset: { + bodyslam: ["9L1"], + calmmind: ["9L1"], + hypervoice: ["9L1"], + moonblast: ["9L1"], + mysticalfire: ["9L1"], + playrough: ["9L1"], + softboiled: ["9L1"], + springtidestorm: ["9L1"], + stealthrock: ["9L1"], + aromaticmist: ["9L1"], + celebrate: ["9L1"], + confide: ["9L1"], + covet: ["9L1"], + decorate: ["9L1"], + feint: ["9L1"], + playnice: ["9L1"], + safeguard: ["9L1"], + snore: ["9L1"], + stuffcheeks: ["9L1"], + sweetkiss: ["9L1"], + uproar: ["9L1"], + facade: ["9L1"], + knockoff: ["9L1"], + quickattack: ["9L1"], + throatchop: ["9L1"], + uturn: ["9L1"], + falseswipe: ["9L1"], + fling: ["9L1"], + gigaimpact: ["9L1"], + phantomforce: ["9L1"], + retaliate: ["9L1"], + rocktomb: ["9L1"], + slam: ["9L1"], + takedown: ["9L1"], + dazzlinggleam: ["9L1"], + drainingkiss: ["9L1"], + taunt: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + disarmingvoice: ["9L1"], + icywind: ["9L1"], + hyperbeam: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + thunderwave: ["9L1"], + trick: ["9L1"], + babydolleyes: ["9L1"], + charm: ["9L1"], + confuseray: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + followme: ["9L1"], + gravity: ["9L1"], + growth: ["9L1"], + helpinghand: ["9L1"], + imprison: ["9L1"], + metronome: ["9L1"], + mistyterrain: ["9L1"], + scaryface: ["9L1"], + spite: ["9L1"], + }, + }, + ogerponankh: { + learnset: { + swordsdance: ["9L1"], + earthquake: ["9L1"], + earthpower: ["9L1"], + darkpulse: ["9L1"], + stoneedge: ["9L1"], + powergem: ["9L1"], + facade: ["9L1"], + knockoff: ["9L1"], + poltergeist: ["9L1"], + shadowclaw: ["9L1"], + throatchop: ["9L1"], + uturn: ["9L1"], + astonish: ["9L1"], + falseswipe: ["9L1"], + fling: ["9L1"], + gigaimpact: ["9L1"], + phantomforce: ["9L1"], + retaliate: ["9L1"], + rocktomb: ["9L1"], + slam: ["9L1"], + takedown: ["9L1"], + dazzlinggleam: ["9L1"], + hex: ["9L1"], + shadowball: ["9L1"], + taunt: ["9L1"], + terablast: ["9L1"], + disarmingvoice: ["9L1"], + icywind: ["9L1"], + hyperbeam: ["9L1"], + batonpass: ["9L1"], + destinybond: ["9L1"], + perishsong: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + trick: ["9L1"], + babydolleyes: ["9L1"], + charm: ["9L1"], + confuseray: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + followme: ["9L1"], + gravity: ["9L1"], + growth: ["9L1"], + helpinghand: ["9L1"], + imprison: ["9L1"], + magicroom: ["9L1"], + metronome: ["9L1"], + mistyterrain: ["9L1"], + scaryface: ["9L1"], + spite: ["9L1"], + }, + }, + kingdradruid: { + learnset: { + bodyslam: ["9L1"], + doubleedge: ["9L1"], + dragontail: ["9L1"], + facade: ["9L1"], + ironhead: ["9L1"], + outrage: ["9L1"], + scaleshot: ["9L1"], + smartstrike: ["9L1"], + breakingswipe: ["9L1"], + dragonrush: ["9L1"], + flail: ["9L1"], + gigaimpact: ["9L1"], + hardpress: ["9L1"], + metalburst: ["9L1"], + steelwing: ["9L1"], + takedown: ["9L1"], + doomdesire: ["9L1"], + dracometeor: ["9L1"], + dragonpulse: ["9L1"], + flamethrower: ["9L1"], + flashcannon: ["9L1"], + hydropump: ["9L1"], + icebeam: ["9L1"], + steelbeam: ["9L1"], + tachyoncutter: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + aurorabeam: ["9L1"], + bubblebeam: ["9L1"], + chillingwater: ["9L1"], + dragonbreath: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + swift: ["9L1"], + twister: ["9L1"], + watergun: ["9L1"], + waterpulse: ["9L1"], + whirlpool: ["9L1"], + calmmind: ["9L1"], + disable: ["9L1"], + partingshot: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + substitute: ["9L1"], + dragoncheer: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + leer: ["9L1"], + metalsound: ["9L1"], + raindance: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + smokescreen: ["9L1"], + snowscape: ["9L1"], + splash: ["9L1"], + yawn: ["9L1"], + }, + }, + nidoqueenvolcanic: { + learnset: { + bodyslam: ["9L1"], + brickbreak: ["9L1"], + crunch: ["9L1"], + dragontail: ["9L1"], + drillrun: ["9L1"], + dynamicpunch: ["9L1"], + earthquake: ["9L1"], + facade: ["9L1"], + firepunch: ["9L1"], + flareblitz: ["9L1"], + focuspunch: ["9L1"], + headbutt: ["9L1"], + heatcrash: ["9L1"], + highhorsepower: ["9L1"], + outrage: ["9L1"], + rockblast: ["9L1"], + rockslide: ["9L1"], + rocktomb: ["9L1"], + seismictoss: ["9L1"], + stoneedge: ["9L1"], + suckerpunch: ["9L1"], + superfang: ["9L1"], + superpower: ["9L1"], + temperflare: ["9L1"], + throatchop: ["9L1"], + thunderpunch: ["9L1"], + aerialace: ["9L1"], + beatup: ["9L1"], + bite: ["9L1"], + bulldoze: ["9L1"], + counter: ["9L1"], + dig: ["9L1"], + doublekick: ["9L1"], + fissure: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + furyswipes: ["9L1"], + gigaimpact: ["9L1"], + horndrill: ["9L1"], + irontail: ["9L1"], + megakick: ["9L1"], + payday: ["9L1"], + poisontail: ["9L1"], + rocksmash: ["9L1"], + sandtomb: ["9L1"], + scratch: ["9L1"], + stompingtantrum: ["9L1"], + strength: ["9L1"], + tackle: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + dragonpulse: ["9L1"], + earthpower: ["9L1"], + fireblast: ["9L1"], + flamethrower: ["9L1"], + focusblast: ["9L1"], + icebeam: ["9L1"], + lavaplume: ["9L1"], + meteorbeam: ["9L1"], + overheat: ["9L1"], + powergem: ["9L1"], + shadowball: ["9L1"], + terablast: ["9L1"], + thunder: ["9L1"], + thunderbolt: ["9L1"], + echoedvoice: ["9L1"], + ember: ["9L1"], + firespin: ["9L1"], + hyperbeam: ["9L1"], + incinerate: ["9L1"], + mudshot: ["9L1"], + mudslap: ["9L1"], + round: ["9L1"], + shockwave: ["9L1"], + snore: ["9L1"], + uproar: ["9L1"], + curse: ["9L1"], + disable: ["9L1"], + honeclaws: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + roar: ["9L1"], + stealthrock: ["9L1"], + spikes: ["9L1"], + substitute: ["9L1"], + taunt: ["9L1"], + willowisp: ["9L1"], + wish: ["9L1"], + attract: ["9L1"], + charm: ["9L1"], + confide: ["9L1"], + defensecurl: ["9L1"], + doubleteam: ["9L1"], + endure: ["9L1"], + flatter: ["9L1"], + focusenergy: ["9L1"], + followme: ["9L1"], + growl: ["9L1"], + helpinghand: ["9L1"], + mimic: ["9L1"], + quash: ["9L1"], + raindance: ["9L1"], + sandstorm: ["9L1"], + sleeptalk: ["9L1"], + sunnyday: ["9L1"], + supersonic: ["9L1"], + swagger: ["9L1"], + tailwhip: ["9L1"], + torment: ["9L1"], + }, + }, + bisharpronin: { + learnset: { + barbbarrage: ["9L1"], + bodypress: ["9L1"], + brickbreak: ["9L1"], + drainpunch: ["9L1"], + dynamicpunch: ["9L1"], + facade: ["9L1"], + focuspunch: ["9L1"], + foulplay: ["9L1"], + headbutt: ["9L1"], + lowkick: ["9L1"], + mortalspin: ["9L1"], + nightslash: ["9L1"], + poisonjab: ["9L1"], + sacredsword: ["9L1"], + shadowclaw: ["9L1"], + uturn: ["9L1"], + xscissor: ["9L1"], + bulldoze: ["9L1"], + crosspoison: ["9L1"], + dig: ["9L1"], + falseswipe: ["9L1"], + feint: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + gigaimpact: ["9L1"], + guillotine: ["9L1"], + lowsweep: ["9L1"], + poisonsting: ["9L1"], + retaliate: ["9L1"], + reversal: ["9L1"], + scratch: ["9L1"], + slash: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + upperhand: ["9L1"], + airslash: ["9L1"], + focusblast: ["9L1"], + sludgebomb: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + acid: ["9L1"], + acidspray: ["9L1"], + hyperbeam: ["9L1"], + venoshock: ["9L1"], + detect: ["9L1"], + encore: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + stealthrock: ["9L1"], + substitute: ["9L1"], + switcheroo: ["9L1"], + taunt: ["9L1"], + toxic: ["9L1"], + toxicspikes: ["9L1"], + coaching: ["9L1"], + endure: ["9L1"], + leer: ["9L1"], + meanlook: ["9L1"], + poisongas: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + spite: ["9L1"], + sunnyday: ["9L1"], + torment: ["9L1"], + wideguard: ["9L1"], + }, + }, + corviknightyeti: { + learnset: { + acrobatics: ["9L1"], + bravebird: ["9L1"], + doubleedge: ["9L1"], + drillpeck: ["9L1"], + dualwingbeat: ["9L1"], + facade: ["9L1"], + iceshard: ["9L1"], + icespinner: ["9L1"], + iciclespear: ["9L1"], + aerialace: ["9L1"], + fly: ["9L1"], + furyattack: ["9L1"], + gigaimpact: ["9L1"], + peck: ["9L1"], + pluck: ["9L1"], + skyattack: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + airslash: ["9L1"], + bleakwindstorm: ["9L1"], + blizzard: ["9L1"], + hurricane: ["9L1"], + icebeam: ["9L1"], + terablast: ["9L1"], + voltswitch: ["9L1"], + weatherball: ["9L1"], + aircutter: ["9L1"], + chillingwater: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + powdersnow: ["9L1"], + swift: ["9L1"], + waterpulse: ["9L1"], + curse: ["9L1"], + defog: ["9L1"], + encore: ["9L1"], + haze: ["9L1"], + lightscreen: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + roost: ["9L1"], + substitute: ["9L1"], + tailwind: ["9L1"], + endure: ["9L1"], + faketears: ["9L1"], + leer: ["9L1"], + mist: ["9L1"], + sandattack: ["9L1"], + scaryface: ["9L1"], + screech: ["9L1"], + sleeptalk: ["9L1"], + snowscape: ["9L1"], + spite: ["9L1"], + swagger: ["9L1"], + }, + }, + krookodilewetlander: { + learnset: { + aquajet: ["9L1"], + bodyslam: ["9L1"], + brickbreak: ["9L1"], + bulletseed: ["9L1"], + crunch: ["9L1"], + doubleedge: ["9L1"], + dragonclaw: ["9L1"], + dragontail: ["9L1"], + endeavor: ["9L1"], + facade: ["9L1"], + focuspunch: ["9L1"], + foulplay: ["9L1"], + gunkshot: ["9L1"], + knockoff: ["9L1"], + lashout: ["9L1"], + leafblade: ["9L1"], + liquidation: ["9L1"], + rapidspin: ["9L1"], + scaleshot: ["9L1"], + waterfall: ["9L1"], + wavecrash: ["9L1"], + woodhammer: ["9L1"], + aerialace: ["9L1"], + bite: ["9L1"], + breakingswipe: ["9L1"], + counter: ["9L1"], + fling: ["9L1"], + gigaimpact: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + thrash: ["9L1"], + dragonpulse: ["9L1"], + gigadrain: ["9L1"], + inferno: ["9L1"], + sludgebomb: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + hyperbeam: ["9L1"], + megadrain: ["9L1"], + snarl: ["9L1"], + whirlpool: ["9L1"], + curse: ["9L1"], + encore: ["9L1"], + leechseed: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + strengthsap: ["9L1"], + substitute: ["9L1"], + switcheroo: ["9L1"], + synthesis: ["9L1"], + taunt: ["9L1"], + endure: ["9L1"], + helpinghand: ["9L1"], + leer: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + spite: ["9L1"], + swagger: ["9L1"], + torment: ["9L1"], + }, + }, + krookodilecavedweller: { + learnset: { + bodyslam: ["9L1"], + doubleedge: ["9L1"], + dragonclaw: ["9L1"], + earthquake: ["9L1"], + endeavor: ["9L1"], + explosion: ["9L1"], + facade: ["9L1"], + firefang: ["9L1"], + firelash: ["9L1"], + flamecharge: ["9L1"], + flareblitz: ["9L1"], + knockoff: ["9L1"], + rapidspin: ["9L1"], + rockblast: ["9L1"], + rockslide: ["9L1"], + scaleshot: ["9L1"], + stoneedge: ["9L1"], + aerialace: ["9L1"], + breakingswipe: ["9L1"], + gigaimpact: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + thrash: ["9L1"], + dragonpulse: ["9L1"], + fireblast: ["9L1"], + flamethrower: ["9L1"], + heatwave: ["9L1"], + inferno: ["9L1"], + overheat: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + burningjealousy: ["9L1"], + ember: ["9L1"], + firespin: ["9L1"], + hyperbeam: ["9L1"], + incinerate: ["9L1"], + curse: ["9L1"], + encore: ["9L1"], + lightscreen: ["9L1"], + memento: ["9L1"], + partingshot: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + stealthrock: ["9L1"], + substitute: ["9L1"], + switcheroo: ["9L1"], + taunt: ["9L1"], + willowisp: ["9L1"], + endure: ["9L1"], + helpinghand: ["9L1"], + leer: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + spite: ["9L1"], + sunnyday: ["9L1"], + swagger: ["9L1"], + tarshot: ["9L1"], + torment: ["9L1"], + }, + }, + ogerponeid: { + learnset: { + knockoff: ["9L1"], + liquidation: ["9L1"], + rapidspin: ["9L1"], + shadowclaw: ["9L1"], + wavecrash: ["9L1"], + astonish: ["9L1"], + falseswipe: ["9L1"], + fling: ["9L1"], + gigaimpact: ["9L1"], + lick: ["9L1"], + retaliate: ["9L1"], + slam: ["9L1"], + takedown: ["9L1"], + hex: ["9L1"], + moonblast: ["9L1"], + surf: ["9L1"], + shadowball: ["9L1"], + chillingwater: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + watergun: ["9L1"], + waterpledge: ["9L1"], + waterpulse: ["9L1"], + batonpass: ["9L1"], + healbell: ["9L1"], + lunarblessing: ["9L1"], + lunardance: ["9L1"], + protect: ["9L1"], + recover: ["9L1"], + rest: ["9L1"], + spikes: ["9L1"], + stealthrock: ["9L1"], + substitute: ["9L1"], + thunderwave: ["9L1"], + toxic: ["9L1"], + aquaring: ["9L1"], + babydolleyes: ["9L1"], + celebrate: ["9L1"], + confuseray: ["9L1"], + cosmicpower: ["9L1"], + decorate: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + followme: ["9L1"], + gravity: ["9L1"], + growth: ["9L1"], + helpinghand: ["9L1"], + imprison: ["9L1"], + instruct: ["9L1"], + lifedew: ["9L1"], + magicroom: ["9L1"], + metronome: ["9L1"], + mistyterrain: ["9L1"], + raindance: ["9L1"], + sleeptalk: ["9L1"], + stuffcheeks: ["9L1"], + }, + }, + corviknightanalytical: { + learnset: { + acrobatics: ["9L1"], + bodypress: ["9L1"], + bodyslam: ["9L1"], + doubleedge: ["9L1"], + facade: ["9L1"], + supercellslam: ["9L1"], + uturn: ["9L1"], + zenheadbutt: ["9L1"], + aerialace: ["9L1"], + dualwingbeat: ["9L1"], + fly: ["9L1"], + furyattack: ["9L1"], + gigaimpact: ["9L1"], + peck: ["9L1"], + pluck: ["9L1"], + skyattack: ["9L1"], + spark: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + wildcharge: ["9L1"], + discharge: ["9L1"], + heatwave: ["9L1"], + psychic: ["9L1"], + psyshock: ["9L1"], + terablast: ["9L1"], + thunder: ["9L1"], + thunderbolt: ["9L1"], + voltswitch: ["9L1"], + chargebeam: ["9L1"], + electroball: ["9L1"], + hyperbeam: ["9L1"], + swift: ["9L1"], + thundershock: ["9L1"], + psybeam: ["9L1"], + zapcannon: ["9L1"], + agility: ["9L1"], + calmmind: ["9L1"], + curse: ["9L1"], + lightscreen: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + roost: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + electricterrain: ["9L1"], + endure: ["9L1"], + faketears: ["9L1"], + leer: ["9L1"], + psychicterrain: ["9L1"], + raindance: ["9L1"], + sandattack: ["9L1"], + scaryface: ["9L1"], + screech: ["9L1"], + spite: ["9L1"], + swagger: ["9L1"], + }, + }, + bisharpmantis: { + learnset: { + ceaselessedge: ["9L1"], + facade: ["9L1"], + bitterblade: ["9L1"], + firstimpression: ["9L1"], + foulplay: ["9L1"], + leechlife: ["9L1"], + lowkick: ["9L1"], + nightslash: ["9L1"], + poisonjab: ["9L1"], + shadowclaw: ["9L1"], + suckerpunch: ["9L1"], + knockoff: ["9L1"], + xscissor: ["9L1"], + bulldoze: ["9L1"], + dig: ["9L1"], + falseswipe: ["9L1"], + feint: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + gigaimpact: ["9L1"], + guillotine: ["9L1"], + retaliate: ["9L1"], + reversal: ["9L1"], + scratch: ["9L1"], + slash: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + solarblade: ["9L1"], + darkpulse: ["9L1"], + bugbuzz: ["9L1"], + snarl: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + hyperbeam: ["9L1"], + agility: ["9L1"], + curse: ["9L1"], + detect: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + switcheroo: ["9L1"], + swordsdance: ["9L1"], + taunt: ["9L1"], + toxic: ["9L1"], + endure: ["9L1"], + leer: ["9L1"], + meanlook: ["9L1"], + stringshot: ["9L1"], + sunnyday: ["9L1"], + scaryface: ["9L1"], + spite: ["9L1"], + torment: ["9L1"], + wideguard: ["9L1"], + }, + }, + nidoqueenrosegold: { + learnset: { + aquatail: ["9L1"], + bodyslam: ["9L1"], + brickbreak: ["9L1"], + crunch: ["9L1"], + dragontail: ["9L1"], + drillrun: ["9L1"], + dynamicpunch: ["9L1"], + facade: ["9L1"], + firepunch: ["9L1"], + focuspunch: ["9L1"], + headbutt: ["9L1"], + icepunch: ["9L1"], + poisonjab: ["9L1"], + rockblast: ["9L1"], + rockslide: ["9L1"], + rocktomb: ["9L1"], + seismictoss: ["9L1"], + shadowclaw: ["9L1"], + stoneedge: ["9L1"], + suckerpunch: ["9L1"], + superfang: ["9L1"], + superpower: ["9L1"], + throatchop: ["9L1"], + aerialace: ["9L1"], + beatup: ["9L1"], + bite: ["9L1"], + bulldoze: ["9L1"], + counter: ["9L1"], + dig: ["9L1"], + doublekick: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + furyswipes: ["9L1"], + gigaimpact: ["9L1"], + horndrill: ["9L1"], + irontail: ["9L1"], + megakick: ["9L1"], + payday: ["9L1"], + poisonfang: ["9L1"], + poisonsting: ["9L1"], + poisontail: ["9L1"], + rocksmash: ["9L1"], + sandtomb: ["9L1"], + scratch: ["9L1"], + stompingtantrum: ["9L1"], + strength: ["9L1"], + tackle: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + blizzard: ["9L1"], + dragonpulse: ["9L1"], + energyball: ["9L1"], + flamethrower: ["9L1"], + focusblast: ["9L1"], + gigadrain: ["9L1"], + hex: ["9L1"], + leafstorm: ["9L1"], + shadowball: ["9L1"], + sludgebomb: ["9L1"], + sludgewave: ["9L1"], + surf: ["9L1"], + terablast: ["9L1"], + thunder: ["9L1"], + earthpower: ["9L1"], + absorb: ["9L1"], + bubblebeam: ["9L1"], + echoedvoice: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + incinerate: ["9L1"], + mudslap: ["9L1"], + round: ["9L1"], + shockwave: ["9L1"], + snore: ["9L1"], + uproar: ["9L1"], + venoshock: ["9L1"], + watergun: ["9L1"], + waterpulse: ["9L1"], + whirlpool: ["9L1"], + curse: ["9L1"], + detect: ["9L1"], + disable: ["9L1"], + honeclaws: ["9L1"], + leechseed: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + roar: ["9L1"], + slackoff: ["9L1"], + spikes: ["9L1"], + spikyshield: ["9L1"], + substitute: ["9L1"], + taunt: ["9L1"], + toxic: ["9L1"], + toxicspikes: ["9L1"], + wish: ["9L1"], + attract: ["9L1"], + charm: ["9L1"], + confide: ["9L1"], + defensecurl: ["9L1"], + doubleteam: ["9L1"], + endure: ["9L1"], + flatter: ["9L1"], + focusenergy: ["9L1"], + growl: ["9L1"], + helpinghand: ["9L1"], + mimic: ["9L1"], + quash: ["9L1"], + raindance: ["9L1"], + sandstorm: ["9L1"], + sleeptalk: ["9L1"], + sunnyday: ["9L1"], + supersonic: ["9L1"], + swagger: ["9L1"], + tailwhip: ["9L1"], + torment: ["9L1"], + }, + }, + kingdrabard: { + learnset: { + aquajet: ["9L1"], + bodyslam: ["9L1"], + doubleedge: ["9L1"], + facade: ["9L1"], + flipturn: ["9L1"], + knockoff: ["9L1"], + waterfall: ["9L1"], + liquidation: ["9L1"], + spiritbreak: ["9L1"], + breakingswipe: ["9L1"], + flail: ["9L1"], + gigaimpact: ["9L1"], + takedown: ["9L1"], + alluringvoice: ["9L1"], + blizzard: ["9L1"], + clearsmog: ["9L1"], + hydropump: ["9L1"], + icebeam: ["9L1"], + moonblast: ["9L1"], + psychicnoise: ["9L1"], + scald: ["9L1"], + surf: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + aurorabeam: ["9L1"], + bubblebeam: ["9L1"], + chillingwater: ["9L1"], + dragonbreath: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + muddywater: ["9L1"], + swift: ["9L1"], + twister: ["9L1"], + watergun: ["9L1"], + waterpulse: ["9L1"], + whirlpool: ["9L1"], + agility: ["9L1"], + disable: ["9L1"], + moonlight: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + substitute: ["9L1"], + dragoncheer: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + leer: ["9L1"], + raindance: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + smokescreen: ["9L1"], + snowscape: ["9L1"], + splash: ["9L1"], + yawn: ["9L1"], + }, + }, + kingdragourmet: { + learnset: { + bodyslam: ["9L1"], + doubleedge: ["9L1"], + dragontail: ["9L1"], + facade: ["9L1"], + fakeout: ["9L1"], + flipturn: ["9L1"], + knockoff: ["9L1"], + orderup: ["9L1"], + outrage: ["9L1"], + rapidspin: ["9L1"], + scaleshot: ["9L1"], + breakingswipe: ["9L1"], + dragonrush: ["9L1"], + flail: ["9L1"], + gigaimpact: ["9L1"], + takedown: ["9L1"], + clearsmog: ["9L1"], + dracometeor: ["9L1"], + terablast: ["9L1"], + chillingwater: ["9L1"], + dragonbreath: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + swift: ["9L1"], + twister: ["9L1"], + whirlpool: ["9L1"], + banefulbunker: ["9L1"], + defog: ["9L1"], + disable: ["9L1"], + glare: ["9L1"], + healbell: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + substitute: ["9L1"], + toxic: ["9L1"], + whirlwind: ["9L1"], + wish: ["9L1"], + dragoncheer: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + leer: ["9L1"], + raindance: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + smokescreen: ["9L1"], + snowscape: ["9L1"], + splash: ["9L1"], + yawn: ["9L1"], + }, + }, + nidoqueenshaman: { + learnset: { + bodyslam: ["9L1"], + brickbreak: ["9L1"], + drillrun: ["9L1"], + dynamicpunch: ["9L1"], + earthquake: ["9L1"], + facade: ["9L1"], + focuspunch: ["9L1"], + headbutt: ["9L1"], + poisonjab: ["9L1"], + poltergeist: ["9L1"], + rockblast: ["9L1"], + rockslide: ["9L1"], + rocktomb: ["9L1"], + seismictoss: ["9L1"], + shadowclaw: ["9L1"], + shadowsneak: ["9L1"], + superfang: ["9L1"], + superpower: ["9L1"], + aerialace: ["9L1"], + beatup: ["9L1"], + bite: ["9L1"], + bulldoze: ["9L1"], + dig: ["9L1"], + doublekick: ["9L1"], + fissure: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + furyswipes: ["9L1"], + gigaimpact: ["9L1"], + horndrill: ["9L1"], + irontail: ["9L1"], + lick: ["9L1"], + megakick: ["9L1"], + payday: ["9L1"], + poisonfang: ["9L1"], + poisonsting: ["9L1"], + poisontail: ["9L1"], + rocksmash: ["9L1"], + sandtomb: ["9L1"], + scratch: ["9L1"], + stompingtantrum: ["9L1"], + strength: ["9L1"], + tackle: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + earthpower: ["9L1"], + fireblast: ["9L1"], + flamethrower: ["9L1"], + focusblast: ["9L1"], + hex: ["9L1"], + icebeam: ["9L1"], + shadowball: ["9L1"], + sludgebomb: ["9L1"], + sludgewave: ["9L1"], + surf: ["9L1"], + terablast: ["9L1"], + thunder: ["9L1"], + thunderbolt: ["9L1"], + bubblebeam: ["9L1"], + echoedvoice: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + incinerate: ["9L1"], + mudshot: ["9L1"], + mudslap: ["9L1"], + round: ["9L1"], + shockwave: ["9L1"], + snore: ["9L1"], + uproar: ["9L1"], + venoshock: ["9L1"], + watergun: ["9L1"], + waterpulse: ["9L1"], + whirlpool: ["9L1"], + curse: ["9L1"], + detect: ["9L1"], + disable: ["9L1"], + honeclaws: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + roar: ["9L1"], + slackoff: ["9L1"], + spikes: ["9L1"], + substitute: ["9L1"], + taunt: ["9L1"], + toxic: ["9L1"], + toxicspikes: ["9L1"], + willowisp: ["9L1"], + wish: ["9L1"], + attract: ["9L1"], + charm: ["9L1"], + confide: ["9L1"], + defensecurl: ["9L1"], + doubleteam: ["9L1"], + endure: ["9L1"], + flatter: ["9L1"], + focusenergy: ["9L1"], + growl: ["9L1"], + helpinghand: ["9L1"], + mimic: ["9L1"], + quash: ["9L1"], + raindance: ["9L1"], + sandstorm: ["9L1"], + sleeptalk: ["9L1"], + sunnyday: ["9L1"], + supersonic: ["9L1"], + swagger: ["9L1"], + tailwhip: ["9L1"], + torment: ["9L1"], + }, + }, + bisharprevenant: { + learnset: { + behemothblade: ["9L1"], + brickbreak: ["9L1"], + drainpunch: ["9L1"], + facade: ["9L1"], + foulplay: ["9L1"], + headbutt: ["9L1"], + ironhead: ["9L1"], + nightslash: ["9L1"], + poisonjab: ["9L1"], + poltergeist: ["9L1"], + sacredsword: ["9L1"], + shadowclaw: ["9L1"], + shadowsneak: ["9L1"], + superpower: ["9L1"], + xscissor: ["9L1"], + bulldoze: ["9L1"], + dig: ["9L1"], + falseswipe: ["9L1"], + feint: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + gigaimpact: ["9L1"], + guillotine: ["9L1"], + lowsweep: ["9L1"], + metalburst: ["9L1"], + metalclaw: ["9L1"], + phantomforce: ["9L1"], + retaliate: ["9L1"], + reversal: ["9L1"], + scratch: ["9L1"], + slash: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + upperhand: ["9L1"], + flashcannon: ["9L1"], + focusblast: ["9L1"], + hex: ["9L1"], + nightshade: ["9L1"], + shadowball: ["9L1"], + steelbeam: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + hyperbeam: ["9L1"], + curse: ["9L1"], + detect: ["9L1"], + irondefense: ["9L1"], + protect: ["9L1"], + recover: ["9L1"], + rest: ["9L1"], + stealthrock: ["9L1"], + substitute: ["9L1"], + swordsdance: ["9L1"], + thunderwave: ["9L1"], + coaching: ["9L1"], + endure: ["9L1"], + leer: ["9L1"], + meanlook: ["9L1"], + metalsound: ["9L1"], + sandstorm: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + spite: ["9L1"], + sunnyday: ["9L1"], + torment: ["9L1"], + wideguard: ["9L1"], + }, + }, + corviknightmartian: { + learnset: { + bodypress: ["9L1"], + bodyslam: ["9L1"], + ironhead: ["9L1"], + zenheadbutt: ["9L1"], + aerialace: ["9L1"], + dualwingbeat: ["9L1"], + fly: ["9L1"], + gigaimpact: ["9L1"], + gyroball: ["9L1"], + hardpress: ["9L1"], + psychocut: ["9L1"], + takedown: ["9L1"], + thunderbolt: ["9L1"], + psychic: ["9L1"], + doomdesire: ["9L1"], + flashcannon: ["9L1"], + psychicnoise: ["9L1"], + steelbeam: ["9L1"], + storedpower: ["9L1"], + chargebeam: ["9L1"], + hyperbeam: ["9L1"], + swift: ["9L1"], + psybeam: ["9L1"], + calmmind: ["9L1"], + defog: ["9L1"], + irondefense: ["9L1"], + lightscreen: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + sleeptalk: ["9L1"], + substitute: ["9L1"], + taunt: ["9L1"], + teleport: ["9L1"], + trickroom: ["9L1"], + electricterrain: ["9L1"], + endure: ["9L1"], + gravity: ["9L1"], + leer: ["9L1"], + psychicterrain: ["9L1"], + raindance: ["9L1"], + scaryface: ["9L1"], + screech: ["9L1"], + skillswap: ["9L1"], + spite: ["9L1"], + swagger: ["9L1"], + }, + }, + krookodilecliffside: { + learnset: { + bodyslam: ["9L1"], + crunch: ["9L1"], + doubleedge: ["9L1"], + dragonclaw: ["9L1"], + dragontail: ["9L1"], + endeavor: ["9L1"], + facade: ["9L1"], + firefang: ["9L1"], + focuspunch: ["9L1"], + foulplay: ["9L1"], + gunkshot: ["9L1"], + knockoff: ["9L1"], + powertrip: ["9L1"], + scaleshot: ["9L1"], + throatchop: ["9L1"], + aerialace: ["9L1"], + bite: ["9L1"], + breakingswipe: ["9L1"], + counter: ["9L1"], + fling: ["9L1"], + gigaimpact: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + thrash: ["9L1"], + darkpulse: ["9L1"], + dracometeor: ["9L1"], + dragonpulse: ["9L1"], + flamethrower: ["9L1"], + flashcannon: ["9L1"], + focusblast: ["9L1"], + inferno: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + burningjealousy: ["9L1"], + ember: ["9L1"], + firespin: ["9L1"], + hyperbeam: ["9L1"], + incinerate: ["9L1"], + snarl: ["9L1"], + curse: ["9L1"], + defog: ["9L1"], + encore: ["9L1"], + memento: ["9L1"], + partingshot: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + roost: ["9L1"], + stealthrock: ["9L1"], + substitute: ["9L1"], + switcheroo: ["9L1"], + taunt: ["9L1"], + toxic: ["9L1"], + endure: ["9L1"], + helpinghand: ["9L1"], + leer: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + spite: ["9L1"], + sunnyday: ["9L1"], + swagger: ["9L1"], + torment: ["9L1"], + }, + }, + ogerponvessel: { + learnset: { + axekick: ["9L1"], + explosion: ["9L1"], + knockoff: ["9L1"], + leechlife: ["9L1"], + lunge: ["9L1"], + rocktomb: ["9L1"], + sacredsword: ["9L1"], + thunderouskick: ["9L1"], + uturn: ["9L1"], + gigaimpact: ["9L1"], + highjumpkick: ["9L1"], + retaliate: ["9L1"], + skittersmack: ["9L1"], + slam: ["9L1"], + takedown: ["9L1"], + terablast: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + defog: ["9L1"], + destinybond: ["9L1"], + disable: ["9L1"], + encore: ["9L1"], + lightscreen: ["9L1"], + perishsong: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + spikes: ["9L1"], + substitute: ["9L1"], + taunt: ["9L1"], + toxic: ["9L1"], + trick: ["9L1"], + endure: ["9L1"], + gravity: ["9L1"], + growth: ["9L1"], + helpinghand: ["9L1"], + imprison: ["9L1"], + metronome: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + spite: ["9L1"], + topsyturvy: ["9L1"], + }, + }, + kingdraancient: { + learnset: { + bodyslam: ["9L1"], + doubleedge: ["9L1"], + facade: ["9L1"], + flareblitz: ["9L1"], + flipturn: ["9L1"], + knockoff: ["9L1"], + liquidation: ["9L1"], + outrage: ["9L1"], + scaleshot: ["9L1"], + seedbomb: ["9L1"], + breakingswipe: ["9L1"], + dragonrush: ["9L1"], + flail: ["9L1"], + gigaimpact: ["9L1"], + takedown: ["9L1"], + clearsmog: ["9L1"], + energyball: ["9L1"], + fireblast: ["9L1"], + flamethrower: ["9L1"], + gigadrain: ["9L1"], + hydropump: ["9L1"], + leafstorm: ["9L1"], + overheat: ["9L1"], + scald: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + aurorabeam: ["9L1"], + bubblebeam: ["9L1"], + chillingwater: ["9L1"], + dragonbreath: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + muddywater: ["9L1"], + swift: ["9L1"], + twister: ["9L1"], + watergun: ["9L1"], + waterpulse: ["9L1"], + whirlpool: ["9L1"], + agility: ["9L1"], + disable: ["9L1"], + leechseed: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + substitute: ["9L1"], + synthesis: ["9L1"], + dragoncheer: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + leer: ["9L1"], + raindance: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + smokescreen: ["9L1"], + snowscape: ["9L1"], + splash: ["9L1"], + yawn: ["9L1"], + }, + }, + nidoqueenjasper: { + learnset: { + accelerock: ["9L1"], + aquatail: ["9L1"], + bodyslam: ["9L1"], + brickbreak: ["9L1"], + crunch: ["9L1"], + dragontail: ["9L1"], + drillrun: ["9L1"], + dynamicpunch: ["9L1"], + earthquake: ["9L1"], + facade: ["9L1"], + firepunch: ["9L1"], + focuspunch: ["9L1"], + gunkshot: ["9L1"], + headbutt: ["9L1"], + highhorsepower: ["9L1"], + icepunch: ["9L1"], + outrage: ["9L1"], + poisonjab: ["9L1"], + rockblast: ["9L1"], + rockslide: ["9L1"], + rocktomb: ["9L1"], + saltcure: ["9L1"], + seismictoss: ["9L1"], + shadowclaw: ["9L1"], + stoneedge: ["9L1"], + superfang: ["9L1"], + superpower: ["9L1"], + throatchop: ["9L1"], + thunderpunch: ["9L1"], + aerialace: ["9L1"], + beatup: ["9L1"], + bite: ["9L1"], + bulldoze: ["9L1"], + counter: ["9L1"], + dig: ["9L1"], + doublekick: ["9L1"], + fissure: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + furyswipes: ["9L1"], + gigaimpact: ["9L1"], + horndrill: ["9L1"], + irontail: ["9L1"], + megakick: ["9L1"], + payday: ["9L1"], + poisonfang: ["9L1"], + poisonsting: ["9L1"], + poisontail: ["9L1"], + rocksmash: ["9L1"], + sandtomb: ["9L1"], + scratch: ["9L1"], + stompingtantrum: ["9L1"], + strength: ["9L1"], + tackle: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + blizzard: ["9L1"], + dragonpulse: ["9L1"], + earthpower: ["9L1"], + fireblast: ["9L1"], + flamethrower: ["9L1"], + focusblast: ["9L1"], + icebeam: ["9L1"], + shadowball: ["9L1"], + sludgebomb: ["9L1"], + terablast: ["9L1"], + thunder: ["9L1"], + thunderbolt: ["9L1"], + bubblebeam: ["9L1"], + echoedvoice: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + incinerate: ["9L1"], + mudshot: ["9L1"], + mudslap: ["9L1"], + round: ["9L1"], + shockwave: ["9L1"], + snore: ["9L1"], + uproar: ["9L1"], + venoshock: ["9L1"], + watergun: ["9L1"], + waterpulse: ["9L1"], + whirlpool: ["9L1"], + curse: ["9L1"], + disable: ["9L1"], + glare: ["9L1"], + honeclaws: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + roar: ["9L1"], + stealthrock: ["9L1"], + substitute: ["9L1"], + taunt: ["9L1"], + toxic: ["9L1"], + attract: ["9L1"], + charm: ["9L1"], + confide: ["9L1"], + defensecurl: ["9L1"], + doubleteam: ["9L1"], + endure: ["9L1"], + flatter: ["9L1"], + focusenergy: ["9L1"], + growl: ["9L1"], + helpinghand: ["9L1"], + mimic: ["9L1"], + quash: ["9L1"], + raindance: ["9L1"], + sandstorm: ["9L1"], + sleeptalk: ["9L1"], + sunnyday: ["9L1"], + supersonic: ["9L1"], + swagger: ["9L1"], + tailwhip: ["9L1"], + torment: ["9L1"], + }, + }, + bisharpassassin: { + learnset: { + bodypress: ["9L1"], + brickbreak: ["9L1"], + drainpunch: ["9L1"], + dynamicpunch: ["9L1"], + facade: ["9L1"], + focuspunch: ["9L1"], + foulplay: ["9L1"], + hammerarm: ["9L1"], + headbutt: ["9L1"], + iceshard: ["9L1"], + icespinner: ["9L1"], + lowkick: ["9L1"], + machpunch: ["9L1"], + nightslash: ["9L1"], + poisonjab: ["9L1"], + sacredsword: ["9L1"], + shadowclaw: ["9L1"], + tripleaxel: ["9L1"], + xscissor: ["9L1"], + bulldoze: ["9L1"], + dig: ["9L1"], + falseswipe: ["9L1"], + feint: ["9L1"], + fling: ["9L1"], + furycutter: ["9L1"], + gigaimpact: ["9L1"], + guillotine: ["9L1"], + lowsweep: ["9L1"], + metalburst: ["9L1"], + metalclaw: ["9L1"], + retaliate: ["9L1"], + reversal: ["9L1"], + scratch: ["9L1"], + slash: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + upperhand: ["9L1"], + blizzard: ["9L1"], + focusblast: ["9L1"], + grassknot: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + hyperbeam: ["9L1"], + auroraveil: ["9L1"], + curse: ["9L1"], + detect: ["9L1"], + partingshot: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + stealthrock: ["9L1"], + substitute: ["9L1"], + taunt: ["9L1"], + coaching: ["9L1"], + endure: ["9L1"], + leer: ["9L1"], + meanlook: ["9L1"], + metalsound: ["9L1"], + sandstorm: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + spite: ["9L1"], + sunnyday: ["9L1"], + torment: ["9L1"], + wideguard: ["9L1"], + }, + }, + corviknightfalcon: { + learnset: { + acrobatics: ["9L1"], + bodypress: ["9L1"], + bodyslam: ["9L1"], + bravebird: ["9L1"], + closecombat: ["9L1"], + doubleedge: ["9L1"], + drillpeck: ["9L1"], + dualwingbeat: ["9L1"], + facade: ["9L1"], + knockoff: ["9L1"], + lowkick: ["9L1"], + powertrip: ["9L1"], + uturn: ["9L1"], + wildcharge: ["9L1"], + aerialace: ["9L1"], + fly: ["9L1"], + flyingpress: ["9L1"], + furyattack: ["9L1"], + gigaimpact: ["9L1"], + highjumpkick: ["9L1"], + peck: ["9L1"], + pluck: ["9L1"], + skyattack: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + airslash: ["9L1"], + focusblast: ["9L1"], + heatwave: ["9L1"], + hurricane: ["9L1"], + terablast: ["9L1"], + aircutter: ["9L1"], + hyperbeam: ["9L1"], + swift: ["9L1"], + agility: ["9L1"], + curse: ["9L1"], + defog: ["9L1"], + lightscreen: ["9L1"], + protect: ["9L1"], + reflect: ["9L1"], + rest: ["9L1"], + roost: ["9L1"], + substitute: ["9L1"], + tailwind: ["9L1"], + taunt: ["9L1"], + endure: ["9L1"], + faketears: ["9L1"], + leer: ["9L1"], + raindance: ["9L1"], + sandattack: ["9L1"], + scaryface: ["9L1"], + screech: ["9L1"], + sleeptalk: ["9L1"], + spite: ["9L1"], + swagger: ["9L1"], + }, + }, + krookodilequantum: { + learnset: { + bodyslam: ["9L1"], + brickbreak: ["9L1"], + doubleshock: ["9L1"], + doubleedge: ["9L1"], + dragontail: ["9L1"], + earthquake: ["9L1"], + endeavor: ["9L1"], + facade: ["9L1"], + flamecharge: ["9L1"], + focuspunch: ["9L1"], + headsmash: ["9L1"], + knockoff: ["9L1"], + powertrip: ["9L1"], + rockblast: ["9L1"], + scaleshot: ["9L1"], + stoneedge: ["9L1"], + volttackle: ["9L1"], + aerialace: ["9L1"], + bite: ["9L1"], + breakingswipe: ["9L1"], + counter: ["9L1"], + fling: ["9L1"], + gigaimpact: ["9L1"], + takedown: ["9L1"], + thief: ["9L1"], + thrash: ["9L1"], + discharge: ["9L1"], + dragonpulse: ["9L1"], + electroshot: ["9L1"], + flamethrower: ["9L1"], + inferno: ["9L1"], + meteorbeam: ["9L1"], + powergem: ["9L1"], + sludgebomb: ["9L1"], + terablast: ["9L1"], + thunderbolt: ["9L1"], + voltswitch: ["9L1"], + weatherball: ["9L1"], + burningjealousy: ["9L1"], + electroball: ["9L1"], + ember: ["9L1"], + firespin: ["9L1"], + hyperbeam: ["9L1"], + incinerate: ["9L1"], + snarl: ["9L1"], + curse: ["9L1"], + encore: ["9L1"], + memento: ["9L1"], + partingshot: ["9L1"], + protect: ["9L1"], + recover: ["9L1"], + rest: ["9L1"], + stealthrock: ["9L1"], + substitute: ["9L1"], + switcheroo: ["9L1"], + taunt: ["9L1"], + thunderwave: ["9L1"], + charge: ["9L1"], + conversion: ["9L1"], + conversion2: ["9L1"], + eerieimpulse: ["9L1"], + electricterrain: ["9L1"], + endure: ["9L1"], + helpinghand: ["9L1"], + leer: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + spite: ["9L1"], + sunnyday: ["9L1"], + swagger: ["9L1"], + torment: ["9L1"], + }, + }, + ogerponkitsune: { + learnset: { + aquastep: ["9L1"], + blazekick: ["9L1"], + facade: ["9L1"], + knockoff: ["9L1"], + powerwhip: ["9L1"], + rocktomb: ["9L1"], + shadowsneak: ["9L1"], + uturn: ["9L1"], + zingzap: ["9L1"], + astonish: ["9L1"], + falseswipe: ["9L1"], + fling: ["9L1"], + gigaimpact: ["9L1"], + phantomforce: ["9L1"], + retaliate: ["9L1"], + slam: ["9L1"], + takedown: ["9L1"], + aurasphere: ["9L1"], + dazzlinggleam: ["9L1"], + earthpower: ["9L1"], + flashcannon: ["9L1"], + powergem: ["9L1"], + shadowball: ["9L1"], + terablast: ["9L1"], + weatherball: ["9L1"], + disarmingvoice: ["9L1"], + hyperbeam: ["9L1"], + icywind: ["9L1"], + protect: ["9L1"], + rest: ["9L1"], + substitute: ["9L1"], + transform: ["9L1"], + trickroom: ["9L1"], + babydolleyes: ["9L1"], + charm: ["9L1"], + confuseray: ["9L1"], + endure: ["9L1"], + focusenergy: ["9L1"], + followme: ["9L1"], + gravity: ["9L1"], + growth: ["9L1"], + helpinghand: ["9L1"], + imprison: ["9L1"], + magicroom: ["9L1"], + metronome: ["9L1"], + mistyterrain: ["9L1"], + scaryface: ["9L1"], + sleeptalk: ["9L1"], + spite: ["9L1"], + }, + }, +}; diff --git a/data/mods/sixbysix/pokedex.ts b/data/mods/sixbysix/pokedex.ts new file mode 100644 index 0000000000..a06fef7146 --- /dev/null +++ b/data/mods/sixbysix/pokedex.ts @@ -0,0 +1,542 @@ +export const Pokedex: import('../../../sim/dex-species').ModdedSpeciesDataTable = { + kingdra: { + inherit: true, + otherFormes: ["Kingdra-Classic", "Kingdra-Brinepool", "Kingdra-Druid", "Kingdra-Bard", "Kingdra-Gourmet", "Kingdra-Ancient"], + formeOrder: ["Kingdra", "Kingdra-Classic", "Kingdra-Brinepool", "Kingdra-Druid", "Kingdra-Bard", "Kingdra-Gourmet", "Kingdra-Ancient"], + }, + kingdraclassic: { + num: 230, + name: "Kingdra-Classic", + baseSpecies: "Kingdra", + forme: "Classic", + types: ["Water", "Dragon"], + baseStats: { hp: 90, atk: 70, def: 80, spa: 130, spd: 90, spe: 90 }, + abilities: { 0: "Berserk", 1: "Heatproof", H: "Dry Skin" }, + heightm: 1.8, + weightkg: 152, + color: "Blue", + prevo: '', + eggGroups: ["Water 1", "Dragon"], + }, + kingdrabrinepool: { + num: 230, + name: "Kingdra-Brinepool", + baseSpecies: "Kingdra", + forme: "Brinepool", + types: ["Water", "Poison"], + baseStats: { hp: 130, atk: 35, def: 105, spa: 130, spd: 85, spe: 65 }, + abilities: { 0: "Storm Drain", 1: "Purifying Salt", H: "Dry Skin" }, + heightm: 1.8, + weightkg: 152, + color: "Blue", + prevo: '', + eggGroups: ["Water 1", "Dragon"], + }, + kingdradruid: { + num: 230, + name: "Kingdra-Druid", + baseSpecies: "Kingdra", + forme: "Druid", + types: ["Steel", "Dragon"], + baseStats: { hp: 105, atk: 65, def: 90, spa: 120, spd: 120, spe: 50 }, + abilities: { 0: "Berserk", 1: "Heatproof", H: "Water Absorb" }, + heightm: 1.8, + weightkg: 152, + color: "Blue", + prevo: '', + eggGroups: ["Water 1", "Dragon"], + }, + kingdrabard: { + num: 230, + name: "Kingdra-Bard", + baseSpecies: "Kingdra", + forme: "Bard", + types: ["Water", "Fairy"], + baseStats: { hp: 90, atk: 70, def: 80, spa: 130, spd: 100, spe: 80 }, + abilities: { 0: "Punk Rock", 1: "Cute Charm", H: "Dancer" }, + heightm: 1.8, + weightkg: 152, + color: "Blue", + prevo: '', + eggGroups: ["Water 1", "Dragon"], + }, + kingdragourmet: { + num: 230, + name: "Kingdra-Gourmet", + baseSpecies: "Kingdra", + forme: "Gourmet", + types: ["Normal", "Dragon"], + baseStats: { hp: 110, atk: 110, def: 80, spa: 90, spd: 100, spe: 60 }, + abilities: { 0: "Emergency Exit", 1: "Thick Fat", H: "Poison Heal" }, + heightm: 1.8, + weightkg: 152, + color: "Blue", + prevo: '', + eggGroups: ["Water 1", "Dragon"], + }, + kingdraancient: { + num: 230, + name: "Kingdra-Ancient", + baseSpecies: "Kingdra", + forme: "Ancient", + types: ["Fire", "Grass"], + baseStats: { hp: 89, atk: 89, def: 91, spa: 111, spd: 91, spe: 79 }, + abilities: { 0: "Competitive", 1: "Heatproof", H: "Protosynthesis" }, + heightm: 1.8, + weightkg: 152, + color: "Blue", + prevo: '', + eggGroups: ["Water 1", "Dragon"], + }, + nidoqueen: { + inherit: true, + otherFormes: ["Nidoqueen-Classic", "Nidoqueen-Erudite", "Nidoqueen-Volcanic", "Nidoqueen-Rosegold", "Nidoqueen-Shaman", "Nidoqueen-Jasper"], + formeOrder: ["Nidoqueen", "Nidoqueen-Classic", "Nidoqueen-Erudite", "Nidoqueen-Volcanic", "Nidoqueen-Rosegold", "Nidoqueen-Shaman", "Nidoqueen-Jasper"], + }, + nidoqueenclassic: { + num: 31, + name: "Nidoqueen-Classic", + baseSpecies: "Nidoqueen", + forme: "Classic", + types: ["Poison", "Ground"], + gender: "F", + baseStats: { hp: 135, atk: 115, def: 60, spa: 90, spd: 85, spe: 55 }, + abilities: { 0: "Poison Point", 1: "Cheek Pouch", H: "Serene Grace" }, + heightm: 1.3, + weightkg: 60, + color: "Blue", + prevo: '', + eggGroups: ["Undiscovered"], + }, + nidoqueenerudite: { + num: 31, + name: "Nidoqueen-Erudite", + baseSpecies: "Nidoqueen", + forme: "Erudite", + types: ["Psychic", "Ground"], + gender: "F", + baseStats: { hp: 95, atk: 100, def: 80, spa: 115, spd: 110, spe: 40 }, + abilities: { 0: "Cute Charm", 1: "Regenerator", H: "Serene Grace" }, + heightm: 1.3, + weightkg: 60, + color: "Blue", + prevo: '', + eggGroups: ["Undiscovered"], + }, + nidoqueenvolcanic: { + num: 31, + name: "Nidoqueen-Volcanic", + baseSpecies: "Nidoqueen", + forme: "Volcanic", + types: ["Fire", "Ground"], + gender: "F", + baseStats: { hp: 125, atk: 75, def: 100, spa: 110, spd: 75, spe: 55 }, + abilities: { 0: "Flame Body", 1: "Cheek Pouch", H: "Sheer Force" }, + heightm: 1.3, + weightkg: 60, + color: "Blue", + prevo: '', + eggGroups: ["Undiscovered"], + }, + nidoqueenrosegold: { + num: 31, + name: "Nidoqueen-Rosegold", + baseSpecies: "Nidoqueen", + forme: "Rosegold", + types: ["Poison", "Grass"], + gender: "F", + baseStats: { hp: 125, atk: 70, def: 100, spa: 100, spd: 85, spe: 60 }, + abilities: { 0: "Rough Skin", 1: "Cheek Pouch", H: "Shield Dust" }, + heightm: 1.3, + weightkg: 60, + color: "Blue", + prevo: '', + eggGroups: ["Undiscovered"], + }, + nidoqueenshaman: { + num: 31, + name: "Nidoqueen-Shaman", + baseSpecies: "Nidoqueen", + forme: "Shaman", + types: ["Poison", "Ghost"], + gender: "F", + baseStats: { hp: 95, atk: 120, def: 60, spa: 90, spd: 80, spe: 95 }, + abilities: { 0: "Toxic Chain", 1: "Regenerator", H: "Sheer Force" }, + heightm: 1.3, + weightkg: 60, + color: "Blue", + prevo: '', + eggGroups: ["Undiscovered"], + }, + nidoqueenjasper: { + num: 31, + name: "Nidoqueen-Jasper", + baseSpecies: "Nidoqueen", + forme: "Jasper", + types: ["Poison", "Rock"], + gender: "F", + baseStats: { hp: 135, atk: 125, def: 70, spa: 80, spd: 85, spe: 45 }, + abilities: { 0: "Clear Body", 1: "Earth Eater", H: "Sand Stream" }, + heightm: 1.3, + weightkg: 60, + color: "Blue", + prevo: '', + eggGroups: ["Undiscovered"], + }, + bisharp: { + inherit: true, + otherFormes: ["Bisharp-Centurion", "Bisharp-Savage", "Bisharp-Ronin", "Bisharp-Mantis", "Bisharp-Revenant", "Bisharp-Assassin"], + formeOrder: ["Bisharp", "Bisharp-Centurion", "Bisharp-Savage", "Bisharp-Ronin", "Bisharp-Mantis", "Bisharp-Revenant", "Bisharp-Assassin"], + }, + bisharpcenturion: { + num: 625, + name: "Bisharp-Centurion", + baseSpecies: "Bisharp", + forme: "Centurion", + types: ["Fighting", "Steel"], + baseStats: { hp: 70, atk: 140, def: 115, spa: 55, spd: 70, spe: 70 }, + abilities: { 0: "Overcoat", 1: "Technician", H: "Solar Power" }, + heightm: 1.6, + weightkg: 70, + color: "Red", + prevo: '', + eggGroups: ["Human-Like"], + }, + bisharpsavage: { + num: 625, + name: "Bisharp-Savage", + baseSpecies: "Bisharp", + forme: "Savage", + types: ["Grass", "Steel"], + baseStats: { hp: 90, atk: 110, def: 135, spa: 40, spd: 80, spe: 65 }, + abilities: { 0: "Bulletproof", 1: "Technician", H: "Leaf Guard" }, + heightm: 1.6, + weightkg: 70, + color: "Red", + prevo: '', + eggGroups: ["Human-Like"], + }, + bisharpronin: { + num: 625, + name: "Bisharp-Ronin", + baseSpecies: "Bisharp", + forme: "Ronin", + types: ["Fighting", "Poison"], + baseStats: { hp: 70, atk: 115, def: 110, spa: 45, spd: 70, spe: 110 }, + abilities: { 0: "Overcoat", 1: "Technician", H: "Dry Skin" }, + heightm: 1.6, + weightkg: 70, + color: "Red", + prevo: '', + eggGroups: ["Human-Like"], + }, + bisharpmantis: { + num: 625, + name: "Bisharp-Mantis", + baseSpecies: "Bisharp", + forme: "Mantis", + types: ["Dark", "Bug"], + baseStats: { hp: 80, atk: 120, def: 105, spa: 45, spd: 85, spe: 85 }, + abilities: { 0: "Overcoat", 1: "Sharpness", H: "Orichalcum Pulse" }, + heightm: 1.6, + weightkg: 70, + color: "Red", + prevo: '', + eggGroups: ["Human-Like"], + }, + bisharprevenant: { + num: 625, + name: "Bisharp-Revenant", + baseSpecies: "Bisharp", + forme: "Revenant", + types: ["Ghost", "Steel"], + baseStats: { hp: 80, atk: 135, def: 120, spa: 45, spd: 70, spe: 70 }, + abilities: { 0: "Magic Bounce", 1: "Mirror Armor", H: "Justified" }, + heightm: 1.6, + weightkg: 70, + color: "Red", + prevo: '', + eggGroups: ["Human-Like"], + }, + bisharpassassin: { + num: 625, + name: "Bisharp-Assassin", + baseSpecies: "Bisharp", + forme: "Assassin", + types: ["Fighting", "Ice"], + baseStats: { hp: 80, atk: 130, def: 110, spa: 55, spd: 70, spe: 75 }, + abilities: { 0: "Dazzling", 1: "No Guard", H: "Slush Rush" }, + heightm: 1.6, + weightkg: 70, + color: "Red", + prevo: '', + eggGroups: ["Human-Like"], + }, + corviknight: { + inherit: true, + otherFormes: ["Corviknight-Thunderbird", "Corviknight-Genie", "Corviknight-Yeti", "Corviknight-Analytical", "Corviknight-Martian", "Corviknight-Falcon"], + formeOrder: ["Corviknight", "Corviknight-Thunderbird", "Corviknight-Genie", "Corviknight-Yeti", "Corviknight-Analytical", "Corviknight-Martian", "Corviknight-Falcon"], + }, + corviknightthunderbird: { + num: 823, + name: "Corviknight-Thunderbird", + baseSpecies: "Corviknight", + forme: "Thunderbird", + types: ["Flying", "Electric"], + baseStats: { hp: 85, atk: 55, def: 105, spa: 115, spd: 85, spe: 85 }, + abilities: { 0: "Pickpocket", 1: "Quick Feet", H: "Drizzle" }, + heightm: 2.2, + weightkg: 75, + color: "Purple", + prevo: '', + eggGroups: ["Flying"], + }, + corviknightgenie: { + num: 823, + name: "Corviknight-Genie", + baseSpecies: "Corviknight", + forme: "Genie", + types: ["Flying", "Ground"], + baseStats: { hp: 89, atk: 45, def: 95, spa: 120, spd: 90, spe: 91 }, + abilities: { 0: "Intimidate", 1: "Sand Force", H: "Prankster" }, + heightm: 2.2, + weightkg: 75, + color: "Purple", + prevo: '', + eggGroups: ["Flying"], + }, + corviknightyeti: { + num: 823, + name: "Corviknight-Yeti", + baseSpecies: "Corviknight", + forme: "Yeti", + types: ["Flying", "Ice"], + baseStats: { hp: 85, atk: 55, def: 80, spa: 95, spd: 110, spe: 110 }, + abilities: { 0: "Mummy", 1: "Quick Feet", H: "Snow Warning" }, + heightm: 2.2, + weightkg: 75, + color: "Purple", + prevo: '', + eggGroups: ["Flying"], + }, + corviknightanalytical: { + num: 823, + name: "Corviknight-Analytical", + baseSpecies: "Corviknight", + forme: "Analytical", + types: ["Psychic", "Electric"], + baseStats: { hp: 85, atk: 55, def: 80, spa: 110, spd: 85, spe: 115 }, + abilities: { 0: "Pickpocket", 1: "Flare Boost", H: "Psychic Surge" }, + heightm: 2.2, + weightkg: 75, + color: "Purple", + prevo: '', + eggGroups: ["Flying"], + }, + corviknightmartian: { + num: 823, + name: "Corviknight-Martian", + baseSpecies: "Corviknight", + forme: "Martian", + types: ["Psychic", "Steel"], + baseStats: { hp: 95, atk: 45, def: 120, spa: 100, spd: 105, spe: 65 }, + abilities: { 0: "Iron Barbs", 1: "Quick Feet", H: "Hadron Engine" }, + heightm: 2.2, + weightkg: 75, + color: "Purple", + prevo: '', + eggGroups: ["Flying"], + }, + corviknightfalcon: { + num: 823, + name: "Corviknight-Falcon", + baseSpecies: "Corviknight", + forme: "Falcon", + types: ["Flying", "Fighting"], + baseStats: { hp: 86, atk: 95, def: 75, spa: 75, spd: 85, spe: 114 }, + abilities: { 0: "Pickpocket", 1: "Guts", H: "Delta Stream" }, + heightm: 2.2, + weightkg: 75, + color: "Purple", + prevo: '', + eggGroups: ["Flying"], + }, + krookodile: { + inherit: true, + otherFormes: ["Krookodile-Infernal", "Krookodile-Abyssal", "Krookodile-Wetlander", "Krookodile-Cave Dweller", "Krookodile-Cliffside", "Krookodile-Quantum"], + formeOrder: ["Krookodile", "Krookodile-Infernal", "Krookodile-Abyssal", "Krookodile-Wetlander", "Krookodile-Cave Dweller", "Krookodile-Cliffside", "Krookodile-Quantum"], + }, + krookodileinfernal: { + num: 553, + name: "Krookodile-Infernal", + baseSpecies: "Krookodile", + forme: "Infernal", + types: ["Fire", "Dark"], + baseStats: { hp: 90, atk: 80, def: 85, spa: 105, spd: 90, spe: 100 }, + abilities: { 0: "Magic Guard", 1: "Wonder Skin", H: "Sturdy" }, + heightm: 1.5, + weightkg: 96.3, + color: "Red", + prevo: '', + eggGroups: ["Field"], + }, + krookodileabyssal: { + num: 553, + name: "Krookodile-Abyssal", + baseSpecies: "Krookodile", + forme: "Abyssal", + types: ["Ground", "Dark"], + baseStats: { hp: 90, atk: 120, def: 85, spa: 75, spd: 90, spe: 90 }, + abilities: { 0: "Rock Head", 1: "Wonder Skin", H: "Multiscale" }, + heightm: 1.5, + weightkg: 96.3, + color: "Red", + prevo: '', + eggGroups: ["Field"], + }, + krookodilewetlander: { + num: 553, + name: "Krookodile-Wetlander", + baseSpecies: "Krookodile", + forme: "Wetlander", + types: ["Grass", "Water"], + baseStats: { hp: 100, atk: 100, def: 75, spa: 85, spd: 110, spe: 80 }, + abilities: { 0: "Rock Head", 1: "Wonder Skin", H: "Wind Rider" }, + heightm: 1.5, + weightkg: 96.3, + color: "Red", + prevo: '', + eggGroups: ["Field"], + }, + krookodilecavedweller: { + num: 553, + name: "Krookodile-Cave Dweller", + baseSpecies: "Krookodile", + forme: "Cave Dweller", + types: ["Fire", "Rock"], + baseStats: { hp: 80, atk: 110, def: 75, spa: 85, spd: 80, spe: 120 }, + abilities: { 0: "Magic Guard", 1: "Wonder Skin", H: "Sturdy" }, + heightm: 1.5, + weightkg: 96.3, + color: "Red", + prevo: '', + eggGroups: ["Field"], + }, + krookodilecliffside: { + num: 553, + name: "Krookodile-Cliffside", + baseSpecies: "Krookodile", + forme: "Cliffside", + types: ["Dragon", "Dark"], + baseStats: { hp: 90, atk: 70, def: 85, spa: 115, spd: 80, spe: 110 }, + abilities: { 0: "Intimidate", 1: "Merciless", H: "Mold Breaker" }, + heightm: 1.5, + weightkg: 96.3, + color: "Red", + prevo: '', + eggGroups: ["Field"], + }, + krookodilequantum: { + num: 553, + name: "Krookodile-Quantum", + baseSpecies: "Krookodile", + forme: "Quantum", + types: ["Electric", "Rock"], + baseStats: { hp: 95, atk: 100, def: 85, spa: 85, spd: 85, spe: 100 }, + abilities: { 0: "Rock Head", 1: "Prankster", H: "Sturdy" }, + heightm: 1.5, + weightkg: 96.3, + color: "Red", + prevo: '', + eggGroups: ["Field"], + }, + ogerpon: { + inherit: true, + otherFormes: ["Ogerpon-Muerta", "Ogerpon-Easter", "Ogerpon-Ankh", "Ogerpon-Eid", "Ogerpon-Vessel", "Ogerpon-Kitsune"], + formeOrder: ["Ogerpon", "Ogerpon-Muerta", "Ogerpon-Easter", "Ogerpon-Ankh", "Ogerpon-Eid", "Ogerpon-Vessel", "Ogerpon-Kitsune"], + }, + ogerponmuerta: { + num: 1017, + name: "Ogerpon-Muerta", + baseSpecies: "Ogerpon", + forme: "Muerta", + types: ["Fairy", "Ghost"], + gender: "F", + baseStats: { hp: 90, atk: 120, def: 70, spa: 100, spd: 90, spe: 130 }, + abilities: { 0: "Wandering Spirit" }, + heightm: 1.2, + weightkg: 39.8, + color: "Green", + eggGroups: ["Undiscovered"], + }, + ogerponeaster: { + num: 1017, + name: "Ogerpon-Easter", + baseSpecies: "Ogerpon", + forme: "Easter", + types: ["Fairy", "Normal"], + gender: "F", + baseStats: { hp: 105, atk: 95, def: 95, spa: 110, spd: 80, spe: 115 }, + abilities: { 0: "Pickpocket" }, + heightm: 1.2, + weightkg: 39.8, + color: "Green", + eggGroups: ["Undiscovered"], + }, + ogerponankh: { + num: 1017, + name: "Ogerpon-Ankh", + baseSpecies: "Ogerpon", + forme: "Ankh", + types: ["Ghost"], + gender: "F", + baseStats: { hp: 85, atk: 130, def: 70, spa: 130, spd: 90, spe: 95 }, + abilities: { 0: "Mummy", H: "Good as Gold" }, + heightm: 1.2, + weightkg: 39.8, + color: "Green", + eggGroups: ["Undiscovered"], + }, + ogerponeid: { + num: 1017, + name: "Ogerpon-Eid", + baseSpecies: "Ogerpon", + forme: "Eid", + types: ["Water", "Ghost"], + gender: "F", + baseStats: { hp: 95, atk: 98, def: 100, spa: 105, spd: 110, spe: 92 }, + abilities: { 0: "Tangling Hair" }, + heightm: 1.2, + weightkg: 39.8, + color: "Green", + eggGroups: ["Undiscovered"], + }, + ogerponvessel: { + num: 1017, + name: "Ogerpon-Vessel", + baseSpecies: "Ogerpon", + forme: "Vessel", + types: ["Bug", "Fighting"], + gender: "F", + baseStats: { hp: 95, atk: 115, def: 80, spa: 80, spd: 80, spe: 150 }, + abilities: { 0: "Trace" }, + heightm: 1.2, + weightkg: 39.8, + color: "Green", + eggGroups: ["Undiscovered"], + }, + ogerponkitsune: { + num: 1017, + name: "Ogerpon-Kitsune", + baseSpecies: "Ogerpon", + forme: "Kitsune", + types: ["Fairy"], + gender: "F", + baseStats: { hp: 100, atk: 100, def: 100, spa: 100, spd: 100, spe: 100 }, + abilities: { 0: "Protean" }, + heightm: 1.2, + weightkg: 39.8, + color: "Green", + eggGroups: ["Undiscovered"], + }, +}; diff --git a/data/mods/sixbysix/rulesets.ts b/data/mods/sixbysix/rulesets.ts new file mode 100644 index 0000000000..6b2be5e210 --- /dev/null +++ b/data/mods/sixbysix/rulesets.ts @@ -0,0 +1,17 @@ +export const Rulesets: import('../../../sim/dex-formats').ModdedFormatDataTable = { + spriteviewer: { + effectType: 'ValidatorRule', + name: 'Sprite Viewer', + desc: "Displays a fakemon's sprite in chat when it is switched in for the first time", + onBegin() { + this.add('rule', 'Sprite Viewer: Displays sprites in chat'); + }, + onSwitchIn(pokemon) { + if (!this.effectState[pokemon.species.id]) { + this.add('-message', `${pokemon.species.name}'s Sprite:`); + this.add(`raw|`); + this.effectState[pokemon.species.id] = true; + } + }, + }, +}; diff --git a/data/mods/scootopiav2/scripts.ts b/data/mods/sixbysix/scripts.ts similarity index 95% rename from data/mods/scootopiav2/scripts.ts rename to data/mods/sixbysix/scripts.ts index 49611260ed..4346dd0db2 100644 --- a/data/mods/scootopiav2/scripts.ts +++ b/data/mods/sixbysix/scripts.ts @@ -1,3 +1,3 @@ -export const Scripts: ModdedBattleScriptsData = { - gen: 9, -}; +export const Scripts: ModdedBattleScriptsData = { + gen: 9, +}; diff --git a/data/random-battles/scootopiav2/random-sets.json b/data/random-battles/scootopiav2/random-sets.json deleted file mode 100644 index 1812a60a0b..0000000000 --- a/data/random-battles/scootopiav2/random-sets.json +++ /dev/null @@ -1,856 +0,0 @@ -{ - "albatrygon": { - "level": 100, - "sets": [ - { - "role": "Fast Support", - "movepool": ["Sticky Web", "Taunt", "Encore", "Brave Bird", "Memento", "Parting Shot"], - "abilities": ["Prankster"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Tidy Up", "Brave Bird", "Drill Peck", "Feral Rush", "Feral Bite", "Sacred Sword"], - "abilities": ["Prankster"] - } - ] - }, - "aurorowl": { - "level": 100, - "sets": [ - { - "role": "Setup Sweeper", - "movepool": ["Frost Breath", "Air Cutter", "Focus Blast", "Nasty Plot"], - "abilities": ["Technician"] - } - ] - }, - "arbrella": { - "level": 100, - "sets": [ - { - "role": "Wallbreaker", - "movepool": ["Earthquake", "Wood Hammer", "Swords Dance", "Synthesis", "Stone Edge", "Superpower"], - "abilities": ["Tough Claws"] - }, - { - "role": "Choice Scarf", - "movepool": ["Earthquake", "Wood Hammer", "Stone Edge", "Superpower"], - "abilities": ["Tough Claws"] - } - ] - }, - "avastar": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Thunder Wave", "Heavy Slam", "Psychic", "Recover", "Teleport"], - "abilities": ["Shell Bunker"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Calm Mind", "Psychic", "Flash Cannon", "Recover", "Thunderbolt"], - "abilities": ["Shell Bunker"] - } - ] - }, - "axolacred": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Stealth Rock", "Dragon Tail", "Roost", "Core Enforcer", "Scald", "Defog", "Shed Tail"], - "abilities": ["Magic Guard"] - }, - { - "role": "Bulky Attacker", - "movepool": ["Feral Rush", "Core Enforcer", "Flip Turn", "Recover"], - "abilities": ["Magic Guard"] - } - ] - }, - "barracoth": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Sheer Cold", "Flip Turn", "Triple Axel", "Slack Off"], - "abilities": ["Multiscale", "Filter"] - } - ] - }, - "blunderbusk": { - "level": 100, - "sets": [ - { - "role": "Bulky Attacker", - "movepool": ["Hydro Pump", "Aura Sphere", "Ice Beam", "Dark Pulse", "Dragon Pulse"], - "abilities": ["Mega Launcher"] - } - ] - }, - "brawnkey": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Stealth Rock", "Drain Punch", "Iron Head", "Chilly Reception", "Spikes"], - "abilities": ["Levitate"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Iron Defense", "Body Press", "Iron Head", "Stealth Rock"], - "abilities": ["Levitate"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Bulk Up", "Drain Punch", "Iron Head", "Stealth Rock"], - "abilities": ["Levitate"] - } - ] - }, - "carapex": { - "level": 100, - "sets": [ - { - "role": "Setup Sweeper", - "movepool": ["Tailwind", "Acrobatics", "Earthquake", "Stone Edge"], - "abilities": ["Wind Rider"] - }, - { - "role": "Bulky Support", - "movepool": ["Stealth Rock", "Roost", "Body Press", "Knock Off", "Crystal Bash", "U-Turn"], - "abilities": ["Wind Rider"] - } - ] - }, - "celespirit": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Sheer Cold", "Moonlight", "Hex", "Ice Beam", "Moonblast"], - "abilities": ["Levitate"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Calm Mind", "Crystal Burst", "Shadow Ball", "Moonlight"], - "abilities": ["Levitate"] - } - ] - }, - "cellsius": { - "level": 100, - "sets": [ - { - "role": "Setup Sweeper", - "movepool": ["Calm Mind", "Hydro Pump", "Moonblast", "Ice Beam", "Psychic"], - "abilities": ["Beast Boost"] - }, - { - "role": "Fast Attacker", - "movepool": ["Hydro Pump", "Moonblast", "Ice Beam", "Flip Turn", "Psychic"], - "abilities": ["Beast Boost"] - } - ] - }, - "cindoe": { - "level": 100, - "sets": [ - { - "role": "Fast Support", - "movepool": ["Overheat", "Fiery Wrath", "Parting Shot", "Morning Sun"], - "abilities": ["Natural Cure"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Nasty Plot", "Fiery Wrath", "Fire Blast", "Morning Sun"], - "abilities": ["Natural Cure"] - }, - { - "role": "Setup Sweeper", - - "movepool": ["Nasty Plot", "Fiery Wrath", "Crystal Burst", "Morning Sun"], - "abilities": ["Natural Cure"] - } - ] - }, - "cinnastar": { - "level": 100, - "sets": [ - { - "role": "AV Pivot", - "movepool": ["Sludge Bomb", "Earth Power", "Focus Blast", "Mortal Spin"], - "abilities": ["Regenerator"] - }, - { - "role": "Bulky Support", - "movepool": ["Earth Power", "Mortal Spin", "Recover", "Stealth Rock", "Power Gem"], - "abilities": ["Regenerator"] - } - ] - }, - "cobracotta": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Poison Fang", "Leech Seed", "Knock Off", "Synthesis", "Stealth Rock", "Power Whip"], - "abilities": ["Heatproof"] - } - ] - }, - "corundell": { - "level": 100, - "sets": [ - { - "role": "Fast Attacker", - "movepool": ["Meteor Beam", "Power Gem", "Overheat", "Earth Power", "Volt Switch", "Energy Ball"], - "abilities": ["Lightning Rod"] - } - ] - }, - "crossont": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Spikes", "Recover", "Knock Off", "Circle Throw"], - "abilities": ["Mold Breaker", "Sniper"] - }, - { - "role": "Bulky Attacker", - - "movepool": ["Crystal Cutter", "Close Combat", "Bulk Up", "Substitute"], - "abilities": ["Sniper"] - } - ] - }, - "cyllindrake": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Body Press", "Rapid Spin", "Morning Sun", "Stealth Rock", "Boomburst"], - "abilities": ["Scrappy"] - }, - { - "role": "Fast Support", - "movepool": ["Stealth Rock", "Rapid Spin", "Steel Beam", "Fire Blast"], - "abilities": ["Scrappy"] - }, - { - "role": "Fast Attacker", - - "movepool": ["Feral Shriek", "Flash Cannon", "Earth Power", "Feral Spray", "Rapid Spin"], - "abilities": ["Punk Rock"] - } - ] - }, - "dojodo": { - "level": 100, - "sets": [ - { - "role": "Setup Sweeper", - "movepool": ["Bulk Up", "Drain Punch", "Jet Punch", "Knock Off", "Substitute"], - "abilities": ["Supreme Overlord"] - }, - { - "role": "Setup Sweeper", - - "movepool": ["Bulk Up", "Drain Punch", "Crystal Bash", "Jet Punch", "Crystal Healing"], - "abilities": ["Supreme Overlord"] - } - ] - }, - "dolphena": { - "level": 100, - "sets": [ - { - "role": "Setup Sweeper", - "movepool": ["Coil", "Scale Shot", "Iron Tail", "Liquidation"], - "abilities": ["Mythical Presence"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Dragon Dance", "Scale Shot", "Liquidation", "Iron Head", "Substitute"], - "abilities": ["Mythical Presence"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Coil", "Scale Shot", "Iron Tail", "Liquidation"], - - "abilities": ["Mythical Presence"] - }, - { - "role": "Bulky Support", - "movepool": ["Defog", "Flip Turn", "Moonlight", "Dragon Tail"], - "abilities": ["Mythical Presence"] - } - ] - }, - "dracoil": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Defog", "Roost", "U-Turn", "Hurricane", "Fire Blast", "Glare", "Draco Meteor", "Earthquake"], - "abilities": ["Mythical Presence"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Dragon Dance", "Acrobatics", "Substitute", "Earthquake"], - "abilities": ["Gluttony"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Dragon Dance", "Dragon Rush", "Coil", "Earthquake", "Dual Wingbeat"], - "abilities": ["Mythical Presence"] - }, - { - "role": "Bulky Support", - "movepool": ["Feral Bite", "Dragon Tail", "Roost", "Glare", "Defog"], - "abilities": ["Mythical Presence"] - } - ] - }, - "efflor": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Giga Drain", "Leech Seed", "Rapid Spin", "Stealth Rock", "Chilly Reception"], - "abilities": ["Seed Sower"] - }, - { - "role": "Bulky Setup", - "movepool": ["Curse", "Stone Edge", "Body Press", "Synthesis"], - "abilities": ["Unaware"] - } - ] - }, - "electangle": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Gyro Ball", "Stealth Rock", "Body Press", "Volt Switch", "Discharge"], - "abilities": ["Filter"] - } - ] - }, - "elemadillo": { - "level": 100, - "sets": [ - { - "role": "Fast Attacker", - "movepool": ["Flash Cannon", "Thunderbolt", "Volt Switch", "Energy Ball"], - "abilities": ["Motor Drive", "Weak Armor"] - }, - { - "role": "Fast Attacker", - - "movepool": ["Feral Power", "Flash Cannon", "Earth Power", "Feral Resilience"], - "abilities": ["Motor Drive", "Weak Armor"] - } - ] - }, - "embuck": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Blaze Kick", "Will-o-Wisp", "Morning Sun", "U-Turn", "Close Combat"], - "abilities": ["Intimidate"] - }, - { - "role": "Bulky Support", - - "movepool": ["Blaze Kick", "Crystal Bash", "Will-o-Wisp", "Morning Sun", "U-Turn"], - "abilities": ["Intimidate"] - }, - { - "role": "Fast Attacker", - "movepool": ["Flare Blitz", "Wild Charge", "U-Turn", "Close Combat"], - "abilities": ["Intimidate"] - } - ] - }, - "faerenheit": { - "level": 100, - "sets": [ - { - "role": "Bulky Setup", - "movepool": ["Calm Mind", "Lava Plume", "Moonblast", "Morning Sun"], - "abilities": ["Beast Boost"] - }, - { - "role": "Bulky Setup", - - "movepool": ["Calm Mind", "Lava Plume", "Crystal Cage", "Morning Sun"], - "abilities": ["Beast Boost"] - } - ] - }, - "fenreil": { - "level": 100, - "sets": [ - { - "role": "Fast Attacker", - "movepool": ["Double Edge", "Knock Off", "Superpower", "U-Turn"], - "abilities": ["Natural Cure"] - }, - { - "role": "Fast Attacker", - - "movepool": ["Feral Bite", "Knock Off", "Iron Head", "Feral Shred"], - "abilities": ["Natural Cure"] - } - ] - }, - "flocura": { - "level": 100, - "sets": [ - { - "role": "Fast Support", - "movepool": ["Stealth Rock", "Thunder Wave", "U-Turn", "Leaf Storm"], - "abilities": ["Power Construct"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Nasty Plot", "Giga Drain", "Psychic", "Earth Power"], - "abilities": ["Levitate"] - }, - { - "role": "Setup Sweeper", - - "movepool": ["Nasty Plot", "Giga Drain", "Feral Power", "Earth Power"], - "abilities": ["Levitate"] - }, - { - "role": "Fast Attacker", - "movepool": ["Leaf Storm", "U-Turn", "Psychic", "Earth Power"], - "abilities": ["Levitate"] - }, - { - "role": "Bulky Support", - "movepool": ["Leech Seed", "U-Turn", "Thunder Wave", "Psychic", "Giga Drain", "Stealth Rock"], - "abilities": ["Power Construct"] - } - ] - }, - "harzodia": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Light Screen", "Reflect", "Teleport", "Thunder Wave", "Psychic"], - "abilities": ["Prankster"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Meteor Beam", "Psychic", "Shadow Ball", "Calm Mind", "Focus Blast"], - "abilities": ["Unburden"] - } - ] - }, - "jaegorm": { - "level": 100, - "sets": [ - { - "role": "Fast Attacker", - "movepool": ["First Impression", "U-Turn", "Photon Ray", "Knock Off", "Superpower", "Earthquake"], - "abilities": ["Schooling"] - } - ] - }, - "jamborai": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Mortal Spin", "Recover", "Pyschic", "Scald", "Teleport"], - "abilities": ["Water Absorb"] - }, - { - "role": "Bulky Setup", - "movepool": ["Calm Mind", "Recover", "Pyschic", "Scald", "Sludge Bomb", "Stored Power"], - "abilities": ["Water Absorb"] - }, - { - "role": "Bulky Support", - - "movepool": ["Mortal Spin", "Recover", "Crystal Cage", "Crystal Healing", "Teleport"], - "abilities": ["Gooey"] - }, - { - "role": "Bulky Setup", - - "movepool": ["Crystal Fortification", "Recover", "Stored Power", "Crystal Beam"], - "abilities": ["Gooey"] - } - ] - }, - "kodokai": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - - "movepool": ["Crystal Cage", "Hex", "Will-o-Wisp", "Moonlight"], - "abilities": ["Aroma Veil"] - }, - { - "role": "Bulky Support", - "movepool": ["Wish", "Hex", "Will-o-Wisp", "Moonlight"], - "abilities": ["Aroma Veil"] - } - ] - }, - "krachiten": { - "level": 100, - "sets": [ - { - "role": "Fast Attacker", - "movepool": ["First Impression", "U-Turn", "Liquidation", "Rapid Spin"], - "abilities": ["Torrent"] - }, - { - "role": "Fast Attacker", - - "movepool": ["Crystal Cutter", "U-Turn", "Aqua Cutter", "Superpower", "Rapid Spin"], - "abilities": ["Sniper"] - } - ] - }, - "lumoth": { - "level": 100, - "sets": [ - { - "role": "Setup Sweeper", - "movepool": ["Quiver Dance", "Hex", "Sleep Powder", "Bug Buzz"], - "abilities": ["Levitate"] - } - ] - }, - "minillow": { - "level": 100, - "sets": [ - { - "role": "Setup Sweeper", - "movepool": ["Nasty Plot", "Agility", "Hydro Pump", "Moonblast", "Substitute"], - "abilities": ["Adaptability"] - } - ] - }, - "muabboa": { - "level": 100, - "sets": [ - { - "role": "Fast Attacker", - "movepool": ["Earthquake", "U-Turn", "Close Combat", "Knock Off"], - "abilities": ["Inner Focus"] - }, - { - "role": "Setup Sweeper", - - "movepool": ["Swords Dance", "Earthquake", "Feral Rush", "Close Combat"], - "abilities": ["Inner Focus"] - } - ] - }, - "noxtrice": { - "level": 100, - "sets": [ - { - "role": "Fast Support", - "movepool": ["Poison Jab", "Flare Blitz", "Roost", "U-Turn"], - "abilities": ["Poison Touch"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Gunk Shot", "Flare Blitz", "Earthquake", "Dragon Dance"], - "abilities": ["Poison Touch"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Gunk Shot", "Feral Rush", "Earthquake", "Dragon Dance"], - "abilities": ["Flash Fire"] - } - ] - }, - "nunopod": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Earthquake", "Body Press", "Triple Axel", "Flip Turn", "Stealth Rock", "Rapid Spin", "Recover"], - "abilities": ["Opportunist"] - }, - { - "role": "Bulky Support", - - "movepool": ["Crystal Bash", "Body Press", "Earthquake", "Flip Turn", "Stealth Rock", "Rapid Spin", "Recover"], - "abilities": ["Opportunist"] - } - ] - }, - "orchile": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Moonblast", "Earth Power", "Will-o-Wisp", "Strength Sap", "Spikes"], - "abilities": ["Flower Veil"] - }, - { - "role": "Bulky Setup", - "movepool": ["Moonblast", "Earth Power", "Calm Mind", "Strength Sap"], - "abilities": ["Flower Veil"] - } - ] - }, - "platypad": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Revival Blessing", "Wave Crash", "Flip Turn", "Synthesis"], - "abilities": ["Flower Veil"] - }, - { - "role": "Bulky Setup", - - "movepool": ["Feral Resilience", "Feral Breath", "Giga Drain", "Synthesis"], - "abilities": ["Triage"] - } - ] - }, - "pythos": { - "level": 100, - "sets": [ - { - "role": "Bulky Setup", - "movepool": ["Coil", "Knock Off", "Iron Tail", "Sucker Punch", "Superpower", "Facade"], - "abilities": ["Guts"] - } - ] - }, - "quadringo": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Defog", "Roost", "Dragon Tail", "Earthquake", "Moonblast"], - "abilities": ["Pastel Veil"] - }, - { - "role": "Bulky Setup", - "movepool": ["Calm Mind", "Moonblast", "Mystical Fire", "Roost"], - "abilities": ["Pastel Veil"] - }, - { - "role": "Fast Attacker", - "movepool": ["Moonblast", "Draco Meteor", "Mystical Fire", "Earthquake"], - "abilities": ["Pastel Veil"] - }, - { - "role": "Fast Attacker", - - "movepool": ["Feral Rush", "Earthquake", "Feral Shred", "Roost"], - "abilities": ["Pastel Veil"] - } - ] - }, - "rantler": { - "level": 100, - "sets": [ - { - "role": "Fast Attacker", - "movepool": ["Double Edge", "Ice Spinner", "Superpower", "Earthquake"], - "abilities": ["Slush Rush"] - }, - { - "role": "Setup Sweeper", - "movepool": ["Swords Dance", "Double Edge", "Ice Spinner", "Superpower", "Earthquake", "Quick Attack"], - "abilities": ["Slush Rush"] - }, - { - "role": "Fast Attacker", - "movepool": ["Double Edge", "Ice Spinner", "Superpower", "Quick Attack", "Fake Out"], - "abilities": ["Tough Claws"] - } - ] - }, - "roscenti": { - "level": 100, - "sets": [ - { - "role": "Fast Attacker", - "movepool": ["First Impression", "U-Turn", "Superpower", "Rock Blast", "Bullet Seed"], - "abilities": ["Skill Link"] - }, - { - "role": "Fast Attacker", - - "movepool": ["First Impression", "U-Turn", "Feral Rush", "Drill Run", "Iron Tail"], - "abilities": ["Sheer Force"] - }, - { - "role": "Fast Attacker", - - "movepool": ["First Impression", "U-Turn", "Crystal Tail", "Superpower", "Rock Slide"], - "abilities": ["Sheer Force"] - } - ] - }, - "salamalix": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Stealth Rock", "Spikes", "Stone Edge", "Close Combat", "Iron Head"], - "abilities": ["Intimidate"] - }, - { - "role": "Bulky Setup", - "movepool": ["Swords Dance", "Iron Head", "Close Combat", "Accelerock"], - "abilities": ["Intimidate"] - } - ] - }, - "salaos": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Toxic", "Recover", "Fiery Wrath", "Scald", "Flamethrower", "Toxic Spikes"], - "abilities": ["Good as Gold"] - }, - { - "role": "Bulky Support", - - "movepool": ["Toxic", "Recover", "Crystal Cage", "Flamethrower", "Toxic Spikes"], - "abilities": ["Good as Gold"] - } - ] - }, - "saphor": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Stealth Rock", "Earthquake", "Body Slam", "Slack Off", "Roar", "Heal Bell"], - "abilities": ["Thick Fat"] - }, - { - "role": "Bulky Support", - - "movepool": ["Stealth Rock", "Crystal Tail", "Crystal Shard", "Slack Off", "Roar", "Crystal Healing"], - "abilities": ["Thick Fat"] - }, - { - "role": "Bulky Setup", - - "movepool": ["Bulk Up", "Crystal Cutter", "Slack Off", "Body Press"], - "abilities": ["Thick Fat"] - }, - { - "role": "Bulky Setup", - - "movepool": ["Calm Mind", "Crystal Cage", "Slack Off", "Focus Blast"], - "abilities": ["Thick Fat"] - }, - { - "role": "Fast Attacker", - "movepool": ["Headlong Rush", "Double Edge", "Heavy Slam", "Superpower", "Stone Edge"], - "abilities": ["Thick Fat"] - } - ] - }, - "scalaron": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Flamethrower", "Hurricane", "Roost", "U-Turn", "Defog", "Toxic", "Will-o-Wisp"], - "abilities": ["Filter"] - }, - { - "role": "Bulky Support", - - "movepool": ["Flamethrower", "Crystal Cage", "Roost", "U-Turn", "Defog", "Will-o-Wisp", "Crystal Shard"], - "abilities": ["Filter"] - } - ] - }, - "soleron": { - "level": 100, - "sets": [ - { - "role": "Fast Attacker", - "movepool": ["Thunderbolt", "Hurricane", "Heat Wave", "U-Turn", "Air Slash", "Volt Switch", "Roost"], - "abilities": ["Battle Bond"] - }, - { - "role": "Fast Attacker", - "movepool": ["Thunderbolt", "Feral Power", "Feral Spray", "Volt Switch", "Roost"], - - "abilities": ["Battle Bond"] - }, - { - "role": "Fast Attacker", - "movepool": ["Thunderbolt", "Crystal Burst", "Heat Wave", "Volt Switch", "Hurricane"], - - "abilities": ["Battle Bond"] - } - ] - }, - "torgeist": { - "level": 100, - "sets": [ - { - "role": "Fast Attacker", - "movepool": ["Toxic Thread", "Hex", "Hurricane", "Heat Wave", "Pain Split", "Taunt"], - "abilities": ["Merciless"] - }, - { - "role": "Fast Attacker", - - "movepool": ["Toxic Thread", "Hex", "Feral Power", "Pain Split", "Taunt", "Nasty Plot"], - "abilities": ["Merciless"] - }, - { - "role": "Setup Sweeper", - - "movepool": ["Will-o-Wisp", "Hex", "Feral Power", "Nasty Plot"], - "abilities": ["Cursed Body"] - } - ] - }, - "woolora": { - "level": 100, - "sets": [ - { - "role": "Bulky Setup", - "movepool": ["Calm Mind", "Cotton Guard", "Stored Power", "Draining Kiss"], - "abilities": ["Fluffy", "Pastel Veil"] - }, - { - "role": "Bulky Setup", - "movepool": ["Calm Mind", "Moonlight", "Stored Power", "Moonblast"], - "abilities": ["Fluffy"] - } - ] - }, - "zeploom": { - "level": 100, - "sets": [ - { - "role": "Bulky Support", - "movepool": ["Energy Siphon", "Synthesis", "Stealth Rock", "U-Turn", "Defog", "Toxic", "Earth Power"], - "abilities": ["Wind Rider"] - } - ] - } -} diff --git a/data/random-battles/sixbysix/random-sets.json b/data/random-battles/sixbysix/random-sets.json new file mode 100644 index 0000000000..fe3959a1d6 --- /dev/null +++ b/data/random-battles/sixbysix/random-sets.json @@ -0,0 +1,557 @@ +{ + "kingdraancient": { + "level": 100, + "sets": [ + { + "role": "Fast Bulky Setup", + "movepool": ["Fire Blast", "Agility", "Energy Ball", "Hydro Pump"], + "abilities": ["Protosynthesis"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Giga Drain", "Fire Blast", "Flip Turn", "Synthesis"], + "abilities": ["Competitive"] + } + ] + }, + "kingdrabard": { + "level": 100, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Hydro Pump", "Agility", "Psychic Noise", "Alluring Voice"], + "abilities": ["Punk Rock"] + }, + { + "role": "Wallbreaker", + "movepool": ["Hydro Pump", "Flip Turn", "Psychic Noise", "Alluring Voice"], + "abilities": ["Punk Rock"] + } + ] + }, + "kingdrabrinepool": { + "level": 100, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Scald", "Protect", "Knock Off", "Mortal Spin"], + "abilities": ["Purifying Salt"] + }, + { + "role": "Wallbreaker", + "movepool": ["Hydro Pump", "Water Shuriken", "Sludge Wave", "Flip Turn"], + "abilities": ["Purifying Salt", "Storm Drain"] + } + ] + }, + "kingdraclassic": { + "level": 100, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Hydro Pump", "Draco Meteor", "Agility", "Ice Beam"], + "abilities": ["Berserk"] + }, + { + "role": "Wallbreaker", + "movepool": ["Hydro Pump", "Draco Meteor", "Flip Turn", "Ice Beam"], + "abilities": ["Berserk"] + } + ] + }, + "kingdradruid": { + "level": 100, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Tachyon Cutter", "Draco Meteor", "Flamethrower", "Ice Beam"], + "abilities": ["Berserk"] + }, + { + "role": "Bulky Setup", + "movepool": ["Tachyon Cutter", "Protect", "Flamethrower", "Calm Mind"], + "abilities": ["Berserk"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Doom Desire", "Parting Shot", "Draco Meteor", "Protect"], + "abilities": ["Berserk", "Heatproof"] + } + ] + }, + "kingdragourmet": { + "level": 100, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Facade", "Baneful Bunker", "Knock Off", "Toxic"], + "abilities": ["Poison Heal"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Facade", "Fake Out", "Knock Off", "Flip Turn"], + "abilities": ["Poison Heal"] + } + ] + }, + "nidoqueenclassic": { + "level": 100, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Barb Barrage", "Earthquake", "Spikes", "Slack Off"], + "abilities": ["Poison Point"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Poison Jab", "Earthquake", "Ice Punch", "Slack Off"], + "abilities": ["Sheer Force"] + } + ] + }, + "nidoqueenerudite": { + "level": 100, + "sets": [ + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Earth Power", "Psychic", "Slack Off"], + "abilities": ["Sheer Force"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Trick Room", "Earth Power", "Psychic", "Ice Beam"], + "abilities": ["Sheer Force"] + }, + { + "role": "Bulky Support", + "movepool": ["Future Sight", "Earth Power", "Roar", "Chilly Reception"], + "abilities": ["Regenerator"] + } + ] + }, + "nidoqueenjasper": { + "level": 100, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Salt Cure", "Earthquake", "Protect", "Glare"], + "abilities": ["Earth Eater"] + }, + { + "role": "Wallbreaker", + "movepool": ["Accelerock", "Earthquake", "Gunk Rock", "Stone Edge"], + "abilities": ["Earth Eater"] + } + ] + }, + "nidoqueenrosegold": { + "level": 100, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Slack Off", "Giga Drain", "Earth Power", "Toxic Spikes"], + "abilities": ["Rough Skin"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Spiky Shield", "Earth Power", "Sludge Bomb", "Leech Seed"], + "abilities": ["Rough Skin"] + } + ] + }, + "nidoqueenshaman": { + "level": 100, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Poltergeist", "Poison Jab", "Superpower", "Shadow Sneak"], + "abilities": ["Toxic Chain"] + }, + { + "role": "AV Pivot", + "movepool": ["Poltergeist", "Poison Jab", "Earthquake", "Shadow Sneak"], + "abilities": ["Regenerator"] + } + ] + }, + "nidoqueenvolcanic": { + "level": 100, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Protect", "Lava Plume", "Earth Power", "Wish"], + "abilities": ["Flame Body"] + }, + { + "role": "Wallbreaker", + "movepool": ["Thunderbolt", "Fire Blast", "Earth Power", "Ice Beam"], + "abilities": ["Sheer Force"] + }, + { + "role": "Bulky Attacker", + "movepool": ["Protect", "Fire Blast", "Earth Power", "Wish"], + "abilities": ["Sheer Force"] + } + ] + }, + "bisharpassassin": { + "level": 100, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Triple Axel", "Dynamic Punch", "Parting Shot", "Ice Shard"], + "abilities": ["No Guard"] + }, + { + "role": "Bulky Setup", + "movepool": ["Triple Axel", "Dynamic Punch", "Curse", "Ice Shard"], + "abilities": ["No Guard"] + } + ] + }, + "bisharpcenturion": { + "level": 100, + "sets": [ + { + "role": "Wallbreaker", + "movepool": ["Bullet Punch", "Superpower", "Switcheroo", "Iron Head"], + "abilities": ["Technician"] + }, + { + "role": "Wallbreaker", + "movepool": ["Bullet Punch", "Drain Punch", "Bulk Up", "Iron Head"], + "abilities": ["Technician"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Bullet Punch", "Drain Punch", "Swords Dance", "Iron Head"], + "abilities": ["Technician"] + } + ] + }, + "bisharpmantis": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Ceaseless Edge", "Leech Life", "First Impression", "Bitter Blade"], + "abilities": ["Orichalcum Pulse"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Sucker Punch", "Leech Life", "Swords Dance", "Bitter Blade"], + "abilities": ["Orichalcum Pulse"] + } + ] + }, + "bisharprevenant": { + "level": 100, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Recover", "Shadow Sneak", "Sacred Sword", "Poltergeist"], + "abilities": ["Magic Bounce"] + }, + { + "role": "Bulky Setup", + "movepool": ["Recover", "Shadow Sneak", "Swords Dance", "Behemoth Blade"], + "abilities": ["Magic Bounce"] + } + ] + }, + "bisharpronin": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Barb Barrage", "U-turn", "Sacred Sword", "Stealth Rock"], + "abilities": ["Technician"] + }, + { + "role": "Wallbreaker", + "movepool": ["Barb Barrage", "U-turn", "Sacred Sword", "Bulldoze"], + "abilities": ["Technician"] + } + ] + }, + "bisharpsavage": { + "level": 100, + "sets": [ + { + "role": "Bulky Support", + "movepool": ["Leech Seed", "Bullet Punch", "Power Whip", "Thunder Wave"], + "abilities": ["Technician"] + }, + { + "role": "Bulky Setup", + "movepool": ["Bulk Up", "Bullet Punch", "Power Whip", "Body Press"], + "abilities": ["Technician"] + } + ] + }, + "corviknightanalytical": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Psychic", "Thunderbolt", "U-turn", "Heat Wave"], + "abilities": ["Psychic Surge"] + }, + { + "role": "Fast Support", + "movepool": ["Reflect", "Light Screen", "U-turn", "Psychic"], + "abilities": ["Psychic Surge"] + }, + { + "role": "Fast Bulky Setup", + "movepool": ["Psychic", "Thunderbolt", "Calm Mind", "Heat Wave"], + "abilities": ["Psychic Surge"] + } + ] + }, + "corviknightfalcon": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Brave Bird", "Close Combat", "U-turn", "Knock Off"], + "abilities": ["Guts"] + }, + { + "role": "Fast Support", + "movepool": ["Reflect", "Light Screen", "U-turn", "Taunt"], + "abilities": ["Delta Stream"] + } + ] + }, + "corviknightgenie": { + "level": 100, + "sets": [ + { + "role": "Fast Bulky Setup", + "movepool": ["Earth Power", "Calm Mind", "Heat Wave", "Rest"], + "abilities": ["Prankster"] + }, + { + "role": "AV Pivot", + "movepool": ["Scorching Sands", "U-turn", "Heat Wave", "Thunderbolt"], + "abilities": ["Intimidate"] + }, + { + "role": "Fast Support", + "movepool": ["Reflect", "Light Screen", "U-turn", "Earth Power"], + "abilities": ["Prankster"] + } + ] + }, + "corviknightmartian": { + "level": 100, + "sets": [ + { + "role": "Bulky Attacker", + "movepool": ["Trick Room", "Teleport", "Thunderbolt", "Psychic"], + "abilities": ["Hadron Engine"] + }, + { + "role": "Bulky Support", + "movepool": ["Doom Desire", "Teleport", "Thunderbolt", "Psychic"], + "abilities": ["Hadron Engine"] + }, + { + "role": "Bulky Setup", + "movepool": ["Calm Mind", "Flash Cannon", "Thunderbolt", "Psychic Noise"], + "abilities": ["Hadron Engine"] + } + ] + }, + "corviknightthunderbird": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Thunder", "Hurricane", "U-turn", "Roost"], + "abilities": ["Drizzle"] + }, + { + "role": "Fast Support", + "movepool": ["Reflect", "Light Screen", "U-turn", "Hurricane"], + "abilities": ["Drizzle"] + } + ] + }, + "corviknightyeti": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Blizzard", "Bleakwind Storm", "Volt Switch", "Roost"], + "abilities": ["Snow Warning"] + }, + { + "role": "Fast Support", + "movepool": ["Reflect", "Light Screen", "U-turn", "Blizzard"], + "abilities": ["Snow Warning"] + } + ] + }, + "krookodileabyssal": { + "level": 100, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Dragon Dance", "Earthquake", "Knock Off", "Flare Blitz"], + "abilities": ["Multiscale"] + }, + { + "role": "Fast Attacker", + "movepool": ["Parting Shot", "Earthquake", "Knock Off", "Flare Blitz"], + "abilities": ["Multiscale"] + } + ] + }, + "krookodilecavedweller": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Parting Shot", "Earthquake", "Stone Edge", "Flare Blitz"], + "abilities": ["Magic Guard"] + }, + { + "role": "Wallbreaker", + "movepool": ["Explosion", "Earthquake", "Stone Edge", "Flare Blitz"], + "abilities": ["Magic Guard"] + } + ] + }, + "krookodilecliffside": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Parting Shot", "Dark Pulse", "Draco Meteor", "Flamethrower"], + "abilities": ["Intimidate"] + }, + { + "role": "Wallbreaker", + "movepool": ["Switcheroo", "Dark Pulse", "Draco Meteor", "Flamethrower"], + "abilities": ["Intimidate"] + } + ] + }, + "krookodileinfernal": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Parting Shot", "Magma Storm", "Fiery Wrath", "Eruption"], + "abilities": ["Magic Guard"] + }, + { + "role": "Fast Support", + "movepool": ["Parting Shot", "Fire Lash", "Knock Off", "Will-O-Wisp"], + "abilities": ["Magic Guard"] + } + ] + }, + "krookodilequantum": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Parting Shot", "Volt Tackle", "Head Smash", "Earthquake"], + "abilities": ["Rock Head"] + }, + { + "role": "Fast Support", + "movepool": ["Parting Shot", "Encore", "Head Smash", "Volt Tackle"], + "abilities": ["Prankster"] + } + ] + }, + "krookodilewetlander": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Synthesis", "Wave Crash", "Wood Hammer", "Knock Off"], + "abilities": ["Wind Rider", "Wonder Skin"] + }, + { + "role": "Wallbreaker", + "movepool": ["Parting Shot", "Wave Crash", "Wood Hammer", "Knock Off"], + "abilities": ["Wind Rider", "Wonder Skin"] + } + ] + }, + "ogerponankh": { + "level": 100, + "sets": [ + { + "role": "Setup Sweeper", + "movepool": ["Swords Dance", "Poltergeist", "Earthquake", "Stone Edge"], + "abilities": ["Good as Gold"] + }, + { + "role": "Wallbreaker", + "movepool": ["U-turn", "Shadow Ball", "Earth Power", "Dazzling Gleam"], + "abilities": ["Good as Gold"] + } + ] + }, + "ogerponeaster": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["U-turn", "Moonblast", "Hyper Voice", "Mystical Fire"], + "abilities": ["Pickpocket"] + }, + { + "role": "Setup Sweeper", + "movepool": ["Calm Mind", "Moonblast", "Soft-Boiled", "Mystical Fire"], + "abilities": ["Pickpocket"] + } + ] + }, + "ogerponeid": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Knock Off", "Recover", "Surf", "Shadow Ball"], + "abilities": ["Tangling Hair"] + }, + { + "role": "Fast Support", + "movepool": ["Hex", "Recover", "Surf", "Toxic"], + "abilities": ["Tangling Hair"] + } + ] + }, + "ogerponkitsune": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Knock Off", "U-turn", "Earth Power", "Power Whip"], + "abilities": ["Protean"] + } + ] + }, + "ogerponmuerta": { + "level": 100, + "sets": [ + { + "role": "Fast Attacker", + "movepool": ["Poltergeist", "Moonblast", "U-turn", "Will-O-Wisp"], + "abilities": ["Wandering Spirit"] + }, + { + "role": "Wallbreaker", + "movepool": ["Poltergeist", "Moonblast", "U-turn", "Shadow Sneak"], + "abilities": ["Wandering Spirit"] + } + ] + } +} diff --git a/data/random-battles/scootopiav2/teams.ts b/data/random-battles/sixbysix/teams.ts similarity index 94% rename from data/random-battles/scootopiav2/teams.ts rename to data/random-battles/sixbysix/teams.ts index c03dcede03..e321ed1a71 100644 --- a/data/random-battles/scootopiav2/teams.ts +++ b/data/random-battles/sixbysix/teams.ts @@ -1,1001 +1,960 @@ -import { RandomTeams, type MoveCounter } from "../gen9/teams"; - -// Moves that restore HP: -const RECOVERY_MOVES = [ - 'healorder', 'milkdrink', 'moonlight', 'morningsun', 'recover', 'roost', 'shoreup', 'slackoff', 'softboiled', 'strengthsap', 'synthesis', -]; -// Moves that boost Attack: -const PHYSICAL_SETUP = [ - 'bellydrum', 'bulkup', 'coil', 'curse', 'dragondance', 'honeclaws', 'howl', 'meditate', 'poweruppunch', 'swordsdance', 'tidyup', 'victorydance', - 'filletaway', -]; -// Moves which boost Special Attack: -const SPECIAL_SETUP = [ - 'calmmind', 'chargebeam', 'geomancy', 'nastyplot', 'quiverdance', 'tailglow', 'takeheart', 'torchsong', 'filletaway', -]; -// Some moves that only boost Speed: -const SPEED_SETUP = [ - 'agility', 'autotomize', 'flamecharge', 'rockpolish', 'trailblaze', -]; -// Conglomerate for ease of access -const SETUP = [ - 'acidarmor', 'agility', 'autotomize', 'bellydrum', 'bulkup', 'calmmind', 'clangoroussoul', 'coil', 'cosmicpower', 'curse', 'dragondance', - 'filletaway', 'flamecharge', 'growth', 'honeclaws', 'howl', 'irondefense', 'meditate', 'nastyplot', 'noretreat', 'poweruppunch', 'quiverdance', - 'rockpolish', 'shellsmash', 'shiftgear', 'swordsdance', 'tailglow', 'takeheart', 'tidyup', 'trailblaze', 'trickroom', 'workup', 'victorydance', - 'feralresilience', 'feralspray', 'crystalfortification', -]; -const SPEED_CONTROL = [ - 'electroweb', 'glare', 'icywind', 'lowsweep', 'quash', 'stringshot', 'tailwind', 'thunderwave', 'trickroom', -]; -// Hazard-setting moves -const HAZARDS = [ - 'spikes', 'stealthrock', 'stickyweb', 'toxicspikes', 'crystalshard', -]; -// Protect and its variants -const PROTECT_MOVES = [ - 'banefulbunker', 'burningbulwark', 'protect', 'silktrap', 'spikyshield', -]; -// Moves that switch the user out -const PIVOT_MOVES = [ - 'chillyreception', 'flipturn', 'partingshot', 'shedtail', 'teleport', 'uturn', 'voltswitch', -]; - -// Moves that should be paired together when possible -const MOVE_PAIRS = [ - ['lightscreen', 'reflect'], - ['sleeptalk', 'rest'], - ['protect', 'wish'], - ['spikyshield', 'wish'], - ['leechseed', 'protect'], - ['leechseed', 'substitute'], - ['moongeistbeam', 'moonlight'], - ['hex', 'willowisp'], - ['hex', 'toxic'], - ['hex', 'thunderwave'], - ['nightmare', 'willowisp'], - ['nightmare', 'toxic'], - ['nightmare', 'thunderwave'], -]; - -/** Pokemon who always want priority STAB, and are fine with it as its only STAB move of that type */ -const PRIORITY_POKEMON = [ - 'breloom', 'brutebonnet', 'cacturne', 'honchkrow', 'mimikyu', 'ragingbolt', 'scizor', -]; - -/** Pokemon who should never be in the lead slot */ -const NO_LEAD_POKEMON = [ - 'Zacian', 'Zamazenta', -]; -const DOUBLES_NO_LEAD_POKEMON = [ - 'Basculegion', 'Houndstone', 'Iron Bundle', 'Roaring Moon', 'Zacian', 'Zamazenta', -]; -export class RandomSCTeams extends RandomTeams { - override cullMovePool( - types: string[], - moves: Set, - abilities: string[], - counter: MoveCounter, - movePool: string[], - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - isLead: boolean, - isDoubles: boolean, - teraType: string, - role: RandomTeamsTypes.Role, - ): void { - if (moves.size + movePool.length <= this.maxMoveCount) return; - // If we have two unfilled moves and only one unpaired move, cull the unpaired move. - if (moves.size === this.maxMoveCount - 2) { - const unpairedMoves = [...movePool]; - for (const pair of MOVE_PAIRS) { - if (movePool.includes(pair[0]) && movePool.includes(pair[1])) { - this.fastPop(unpairedMoves, unpairedMoves.indexOf(pair[0])); - this.fastPop(unpairedMoves, unpairedMoves.indexOf(pair[1])); - } - } - if (unpairedMoves.length === 1) { - this.fastPop(movePool, movePool.indexOf(unpairedMoves[0])); - } - } - - // These moves are paired, and shouldn't appear if there is not room for them both. - if (moves.size === this.maxMoveCount - 1) { - for (const pair of MOVE_PAIRS) { - if (movePool.includes(pair[0]) && movePool.includes(pair[1])) { - this.fastPop(movePool, movePool.indexOf(pair[0])); - this.fastPop(movePool, movePool.indexOf(pair[1])); - } - } - } - - // Develop additional move lists - const statusMoves = this.cachedStatusMoves; - - // Team-based move culls - if (teamDetails.screens) { - if (movePool.includes('auroraveil')) this.fastPop(movePool, movePool.indexOf('auroraveil')); - if (movePool.length >= this.maxMoveCount + 2) { - if (movePool.includes('reflect')) this.fastPop(movePool, movePool.indexOf('reflect')); - if (movePool.includes('lightscreen')) this.fastPop(movePool, movePool.indexOf('lightscreen')); - } - } - if (teamDetails.stickyWeb) { - if (movePool.includes('stickyweb')) this.fastPop(movePool, movePool.indexOf('stickyweb')); - if (moves.size + movePool.length <= this.maxMoveCount) return; - } - if (teamDetails.stealthRock) { - if (movePool.includes('stealthrock')) this.fastPop(movePool, movePool.indexOf('stealthrock')); - if (moves.size + movePool.length <= this.maxMoveCount) return; - } - if (teamDetails.defog || teamDetails.rapidSpin) { - if (movePool.includes('defog')) this.fastPop(movePool, movePool.indexOf('defog')); - if (movePool.includes('rapidspin')) this.fastPop(movePool, movePool.indexOf('rapidspin')); - if (moves.size + movePool.length <= this.maxMoveCount) return; - } - if (teamDetails.toxicSpikes) { - if (movePool.includes('toxicspikes')) this.fastPop(movePool, movePool.indexOf('toxicspikes')); - if (moves.size + movePool.length <= this.maxMoveCount) return; - } - if (teamDetails.spikes && teamDetails.spikes >= 2) { - if (movePool.includes('spikes')) this.fastPop(movePool, movePool.indexOf('spikes')); - if (moves.size + movePool.length <= this.maxMoveCount) return; - } - if (teamDetails.statusCure) { - if (movePool.includes('healbell')) this.fastPop(movePool, movePool.indexOf('healbell')); - if (moves.size + movePool.length <= this.maxMoveCount) return; - } - - if (isDoubles) { - const doublesIncompatiblePairs = [ - // In order of decreasing generalizability - [SPEED_CONTROL, SPEED_CONTROL], - [HAZARDS, HAZARDS], - ['rockslide', 'stoneedge'], - [SETUP, ['fakeout', 'helpinghand']], - [PROTECT_MOVES, 'wideguard'], - [['fierydance', 'fireblast'], 'heatwave'], - ['dazzlinggleam', ['fleurcannon', 'moonblast']], - ['poisongas', ['toxicspikes', 'willowisp']], - [RECOVERY_MOVES, ['healpulse', 'lifedew']], - ['healpulse', 'lifedew'], - ['haze', 'icywind'], - [['hydropump', 'muddywater'], ['muddywater', 'scald']], - ['disable', 'encore'], - ['freezedry', 'icebeam'], - ['energyball', 'leafstorm'], - ['earthpower', 'sandsearstorm'], - ['coaching', ['helpinghand', 'howl']], - ]; - - for (const pair of doublesIncompatiblePairs) this.incompatibleMoves(moves, movePool, pair[0], pair[1]); - - if (role !== 'Offensive Protect') this.incompatibleMoves(moves, movePool, PROTECT_MOVES, ['flipturn', 'uturn']); - } - - // General incompatibilities - const incompatiblePairs = [ - // These moves don't mesh well with other aspects of the set - [statusMoves, ['healingwish', 'switcheroo', 'trick']], - [SETUP, PIVOT_MOVES], - [SETUP, HAZARDS], - [SETUP, ['defog', 'nuzzle', 'toxic', 'yawn', 'haze']], - [PHYSICAL_SETUP, PHYSICAL_SETUP], - [SPECIAL_SETUP, 'thunderwave'], - ['substitute', PIVOT_MOVES], - [SPEED_SETUP, ['aquajet', 'rest', 'trickroom']], - ['curse', ['irondefense', 'rapidspin']], - ['dragondance', 'dracometeor'], - ['yawn', 'roar'], - ['trick', 'uturn'], - - // These attacks are redundant with each other - [['psychic', 'psychicnoise'], ['psyshock', 'psychicnoise']], - ['surf', ['hydropump', 'scald']], - ['liquidation', 'wavecrash'], - ['aquajet', 'flipturn'], - ['gigadrain', 'leafstorm'], - ['powerwhip', 'hornleech'], - ['airslash', 'hurricane'], - ['knockoff', 'foulplay'], - ['throatchop', ['crunch', 'lashout']], - ['doubleedge', ['bodyslam', 'headbutt']], - [['fireblast', 'magmastorm'], ['fierydance', 'flamethrower', 'lavaplume']], - ['thunderpunch', 'wildcharge'], - ['thunderbolt', 'discharge'], - ['gunkshot', ['direclaw', 'poisonjab', 'sludgebomb']], - ['aurasphere', 'focusblast'], - ['closecombat', 'drainpunch'], - [['dragonpulse', 'spacialrend'], 'dracometeor'], - ['heavyslam', 'flashcannon'], - ['alluringvoice', 'dazzlinggleam'], - ['defog', 'rapidspin'], - - // These status moves are redundant with each other - ['taunt', 'disable'], - [['thunderwave', 'toxic'], ['thunderwave', 'willowisp']], - [['thunderwave', 'toxic', 'willowisp'], 'toxicspikes'], - - // This space reserved for assorted hardcodes that otherwise make little sense out of context - // Landorus and Thundurus - ['nastyplot', ['rockslide', 'knockoff']], - // Persian - ['switcheroo', 'fakeout'], - // Amoonguss, though this can work well as a general rule later - ['toxic', 'clearsmog'], - // Chansey and Blissey - ['healbell', 'stealthrock'], - // Araquanid and Magnezone - ['mirrorcoat', ['hydropump', 'bodypress']], - ]; - - for (const pair of incompatiblePairs) this.incompatibleMoves(moves, movePool, pair[0], pair[1]); - - if (!types.includes('Ice')) this.incompatibleMoves(moves, movePool, 'icebeam', 'icywind'); - - if (!isDoubles) this.incompatibleMoves(moves, movePool, 'taunt', 'encore'); - - if (!types.includes('Dark') && teraType !== 'Dark') this.incompatibleMoves(moves, movePool, 'knockoff', 'suckerpunch'); - - if (!abilities.includes('Prankster')) this.incompatibleMoves(moves, movePool, 'thunderwave', 'yawn'); - - // This space reserved for assorted hardcodes that otherwise make little sense out of context: - // To force Close Combat on Barraskewda without locking it to Tera Fighting - if (species.id === 'barraskewda') { - this.incompatibleMoves(moves, movePool, ['psychicfangs', 'throatchop'], ['poisonjab', 'throatchop']); - } - // To force Toxic on Quagsire - if (species.id === 'quagsire') this.incompatibleMoves(moves, movePool, 'spikes', 'icebeam'); - // Taunt/Knock should be Cyclizar's flex moveslot - if (species.id === 'cyclizar') this.incompatibleMoves(moves, movePool, 'taunt', 'knockoff'); - // To force Stealth Rock on Camerupt - if (species.id === 'camerupt') this.incompatibleMoves(moves, movePool, 'roar', 'willowisp'); - // nothing else rolls these lol - if (species.id === 'coalossal') this.incompatibleMoves(moves, movePool, 'flamethrower', 'overheat'); - } - - override randomMoveset( - types: string[], - abilities: string[], - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - isLead: boolean, - isDoubles: boolean, - movePool: string[], - teraType: string, - role: RandomTeamsTypes.Role, - ): Set { - const moves = new Set(); - if (this.getSuperType(moves)) types[1] = this.getSuperType(moves); - let counter = this.queryMoves(moves, species, teraType, abilities); - this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, isDoubles, teraType, role); - - // If there are only four moves, add all moves and return early - if (movePool.length <= this.maxMoveCount) { - for (const moveid of movePool) { - moves.add(moveid); - } - return moves; - } - - const runEnforcementChecker = (checkerName: string) => { - if (!this.moveEnforcementCheckers[checkerName]) return false; - return this.moveEnforcementCheckers[checkerName]( - movePool, moves, abilities, types, counter, species, teamDetails, isLead, isDoubles, teraType, role - ); - }; - - if (role === 'Tera Blast user') { - counter = this.addMove('terablast', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - // Add required move (e.g. Relic Song for Meloetta-P) - if (species.requiredMove) { - const move = this.dex.moves.get(species.requiredMove).id; - counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - - // Add other moves you really want to have, e.g. STAB, recovery, setup. - - // Enforce Facade if Guts is a possible ability - if (movePool.includes('facade') && abilities.includes('Guts')) { - counter = this.addMove('facade', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - - // Enforce Night Shade, Revelation Dance, Revival Blessing, and Sticky Web - for (const moveid of ['nightshade', 'revelationdance', 'revivalblessing', 'stickyweb']) { - if (movePool.includes(moveid)) { - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce Trick Room on Doubles Wallbreaker - if (movePool.includes('trickroom') && role === 'Doubles Wallbreaker') { - counter = this.addMove('trickroom', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - - // Enforce hazard removal on Bulky Support if the team doesn't already have it - if (role === 'Bulky Support' && !teamDetails.defog && !teamDetails.rapidSpin) { - if (movePool.includes('rapidspin')) { - counter = this.addMove('rapidspin', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - if (movePool.includes('defog')) { - counter = this.addMove('defog', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce Knock Off on pure Normal- and Fighting-types in singles - if (!isDoubles && types.length === 1 && (types.includes('Normal') || types.includes('Fighting'))) { - if (movePool.includes('knockoff')) { - counter = this.addMove('knockoff', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce Flip Turn on pure Water-type Wallbreakers - if (types.length === 1 && types.includes('Water') && - role === 'Wallbreaker' && movePool.includes('flipturn')) { - counter = this.addMove('flipturn', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - - // Enforce Spore on Smeargle - if (species.id === 'smeargle') { - if (movePool.includes('spore')) { - counter = this.addMove('spore', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce moves in doubles - if (isDoubles) { - const doublesEnforcedMoves = ['auroraveil', 'mortalspin', 'spore']; - for (const moveid of doublesEnforcedMoves) { - if (movePool.includes(moveid)) { - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - // Enforce Fake Out on slow Pokemon - if (movePool.includes('fakeout') && species.baseStats.spe <= 50) { - counter = this.addMove('fakeout', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - // Enforce Tailwind on Prankster and Gale Wings users - if (movePool.includes('tailwind') && (abilities.includes('Prankster') || abilities.includes('Gale Wings'))) { - counter = this.addMove('tailwind', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - // Enforce Thunder Wave on Prankster users as well - if (movePool.includes('thunderwave') && abilities.includes('Prankster')) { - counter = this.addMove('thunderwave', moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce STAB priority - if ( - ['Bulky Attacker', 'Bulky Setup', 'Wallbreaker', 'Doubles Wallbreaker'].includes(role) || - PRIORITY_POKEMON.includes(species.id) - ) { - const priorityMoves = []; - for (const moveid of movePool) { - const move = this.dex.moves.get(moveid); - const moveType = this.getMoveType(move, species, abilities, teraType); - if ( - types.includes(moveType) && (move.priority > 0 || (moveid === 'grassyglide' && abilities.includes('Grassy Surge'))) && - (move.basePower || move.basePowerCallback) - ) { - priorityMoves.push(moveid); - } - } - if (priorityMoves.length) { - const moveid = this.sample(priorityMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce a single STAB for Moltres - if (species.id === 'moltres') { - const typeToEnforce = this.randomChance(1, 2) ? 'Fire' : 'Flying'; - - const stabMoves = []; - for (const moveid of movePool) { - const move = this.dex.moves.get(moveid); - const moveType = this.getMoveType(move, species, abilities, teraType); - if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && typeToEnforce === moveType) { - stabMoves.push(moveid); - } - } - while (runEnforcementChecker(typeToEnforce)) { - if (!stabMoves.length) break; - const moveid = this.sampleNoReplace(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce STAB - for (const type of types) { - // Moltres already has STAB, so ignore this block - if (species.id === 'moltres') break; - // prevents Meowscarada from being enforced stab moves - if (species.id === 'meowscarada') break; - // Check if a STAB move of that type should be required - const stabMoves = []; - for (const moveid of movePool) { - const move = this.dex.moves.get(moveid); - const moveType = this.getMoveType(move, species, abilities, teraType); - if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && type === moveType) { - stabMoves.push(moveid); - } - } - while (runEnforcementChecker(type)) { - if (!stabMoves.length) break; - const moveid = this.sampleNoReplace(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce Tera STAB - // prevents Meowscarada from being enforced stab moves (since it has Protean and doesn't care) - if (!counter.get('stabtera') && !['Bulky Support', 'Doubles Support'].includes(role) && - !abilities.includes('Protean')) { - const stabMoves = []; - for (const moveid of movePool) { - const move = this.dex.moves.get(moveid); - const moveType = this.getMoveType(move, species, abilities, teraType); - if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && teraType === moveType) { - stabMoves.push(moveid); - } - } - if (stabMoves.length) { - const moveid = this.sample(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // If no STAB move was added, add a STAB move - // prevents Meowscarada from being enforced stab moves (since it has Protean and doesn't care) - if (!counter.get('stab') && !abilities.includes('Protean')) { - const stabMoves = []; - for (const moveid of movePool) { - const move = this.dex.moves.get(moveid); - const moveType = this.getMoveType(move, species, abilities, teraType); - if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && types.includes(moveType)) { - stabMoves.push(moveid); - } - } - if (stabMoves.length) { - const moveid = this.sample(stabMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce recovery - if (['Bulky Support', 'Bulky Attacker', 'Bulky Setup'].includes(role)) { - const recoveryMoves = movePool.filter(moveid => RECOVERY_MOVES.includes(moveid)); - if (recoveryMoves.length) { - const moveid = this.sample(recoveryMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce setup - if (role.includes('Setup') || role === 'Tera Blast user') { - // First, try to add a non-Speed setup move - const nonSpeedSetupMoves = movePool.filter(moveid => SETUP.includes(moveid) && !SPEED_SETUP.includes(moveid)); - if (nonSpeedSetupMoves.length) { - const moveid = this.sample(nonSpeedSetupMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } else { - // No non-Speed setup moves, so add any (Speed) setup move - const setupMoves = movePool.filter(moveid => SETUP.includes(moveid)); - if (setupMoves.length) { - const moveid = this.sample(setupMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - } - - // Enforce redirecting moves and Fake Out on Doubles Support - if (role === 'Doubles Support') { - for (const moveid of ['fakeout', 'followme', 'ragepowder']) { - if (movePool.includes(moveid)) { - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - } - - // Enforce Protect - if (role.includes('Protect')) { - const protectMoves = movePool.filter(moveid => PROTECT_MOVES.includes(moveid)); - if (protectMoves.length) { - const moveid = this.sample(protectMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce a move not on the noSTAB list - if (!counter.damagingMoves.size) { - // Choose an attacking move - const attackingMoves = []; - for (const moveid of movePool) { - const move = this.dex.moves.get(moveid); - if (!this.noStab.includes(moveid) && (move.category !== 'Status')) attackingMoves.push(moveid); - } - if (attackingMoves.length) { - const moveid = this.sample(attackingMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - - // Enforce coverage move - if (!['AV Pivot', 'Fast Support', 'Bulky Support', 'Bulky Protect', 'Doubles Support'].includes(role)) { - if (counter.damagingMoves.size === 1) { - // Find the type of the current attacking move - const currentAttackType = counter.damagingMoves.values().next().value!.type; - // Choose an attacking move that is of different type to the current single attack - const coverageMoves = []; - for (const moveid of movePool) { - const move = this.dex.moves.get(moveid); - const moveType = this.getMoveType(move, species, abilities, teraType); - if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback)) { - if (currentAttackType !== moveType) coverageMoves.push(moveid); - } - } - if (coverageMoves.length) { - const moveid = this.sample(coverageMoves); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - } - - // Add (moves.size < this.maxMoveCount) as a condition if moves is getting larger than 4 moves. - // If you want moves to be favored but not required, add something like && this.randomChance(1, 2) to your condition. - - // Choose remaining moves randomly from movepool and add them to moves list: - while (moves.size < this.maxMoveCount && movePool.length) { - if (moves.size + movePool.length <= this.maxMoveCount) { - for (const moveid of movePool) { - moves.add(moveid); - } - break; - } - const moveid = this.sample(movePool); - counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - for (const pair of MOVE_PAIRS) { - if (moveid === pair[0] && movePool.includes(pair[1])) { - counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - if (moveid === pair[1] && movePool.includes(pair[0])) { - counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, isDoubles, - movePool, teraType, role); - } - } - } - return moves; - } - - override getPriorityItem( - ability: string, - types: string[], - moves: Set, - counter: MoveCounter, - teamDetails: RandomTeamsTypes.TeamDetails, - species: Species, - isLead: boolean, - isDoubles: boolean, - teraType: string, - role: RandomTeamsTypes.Role, - ) { - if (this.getSuperType(moves)) return this.getSuperType(moves) + " Orb"; - if (!isDoubles) { - if (role === 'Fast Bulky Setup' && (ability === 'Quark Drive' || ability === 'Protosynthesis')) { - return 'Booster Energy'; - } - if (species.id === 'lokix') { - return (role === 'Fast Attacker') ? 'Silver Powder' : 'Life Orb'; - } - } - if (species.requiredItems) { - // Z-Crystals aren't available in Gen 9, so require Plates - if (species.baseSpecies === 'Arceus') { - return species.requiredItems[0]; - } - return this.sample(species.requiredItems); - } - if (role === 'AV Pivot') return 'Assault Vest'; - // Super Type hardcodes - if (species.id === 'cyllindrake' && moves.has('shiftgear')) return 'Throat Spray'; - if (species.id === 'albatrygon' && moves.has('acrobatics')) return 'Sitrus Berry'; - if (species.id === 'yiankutku' && moves.has('facade') || species.id === 'bluekutku' && moves.has('facade')) { - return 'Frost Orb'; - } - if (species.id === 'xenojiiva' && ability === 'Quark Drive') return 'Booster Energy'; - if (species.id === 'odogaron' && moves.has('closecombat')) return 'White Herb'; - if (species.id === 'odogaron' && !moves.has('closecombat')) return 'Sitrus Berry'; - if ( - ability === 'Magic Guard' || ability === 'Fervent Scales' || - (ability === 'Sheer Force' && counter.get('sheerforce')) - ) { - return 'Life Orb'; - } - if (moves.has('devour') && ability === 'Unburden') return 'Liechi Berry'; - if (moves.has('virulentvolley')) return 'Loaded Dice'; - if (moves.has('magnalance') && ability === 'Reactive Core') return 'Flame Orb'; - if (moves.has('dragondance') && ability === 'Reactive Core') return 'Frost Orb'; - // other - if (moves.has('substitute')) return 'Leftovers'; - if (moves.has('protect') && ability !== 'Speed Boost') return 'Leftovers'; - if (counter.get('skilllink') && ability !== 'Skill Link' && species.id !== 'breloom') return 'Loaded Dice'; - if (moves.has('shellsmash') && ability !== 'Weak Armor') return 'White Herb'; - if ((ability === 'Guts' || moves.has('facade')) && !moves.has('sleeptalk')) { - return (types.includes('Fire') || ability === 'Toxic Boost' || ability === 'Poison Heal') ? 'Toxic Orb' : 'Flame Orb'; - } - if (['healingwish', 'switcheroo', 'trick'].some(m => moves.has(m))) { - if ( - species.baseStats.spe >= 60 && species.baseStats.spe <= 108 && - role !== 'Wallbreaker' && role !== 'Doubles Wallbreaker' && !counter.get('priority') - ) { - return 'Choice Scarf'; - } else { - return (counter.get('Physical') > counter.get('Special')) ? 'Choice Band' : 'Choice Specs'; - } - } - if ( - role === 'Wallbreaker' && (counter.get('Physical') > counter.get('Special')) && !counter.get('Status') - ) { - return 'Choice Band'; - } - if ( - role === 'Wallbreaker' && (counter.get('Physical') < counter.get('Special')) && !counter.get('Status') - ) { - return 'Choice Specs'; - } - if (ability === 'Poison Heal' || ability === 'Quick Feet') return 'Toxic Orb'; - if (moves.has('acrobatics') && ability !== 'Quark Drive' && ability !== 'Protosynthesis') return ''; - if (moves.has('auroraveil') || moves.has('lightscreen') && moves.has('reflect')) return 'Light Clay'; - if (ability === 'Gluttony') return `${this.sample(['Aguav', 'Figy', 'Iapapa', 'Mago', 'Wiki'])} Berry`; - if ( - ['Cheek Pouch', 'Cud Chew', 'Harvest', 'Ripen'].some(m => ability === m) || - moves.has('bellydrum') || moves.has('filletaway') - ) { - return 'Sitrus Berry'; - } - if (this.dex.getEffectiveness('Rock', species) >= 2) return 'Heavy-Duty Boots'; - if (species.nfe) return 'Eviolite'; - if (['Bulky Attacker', 'Bulky Support', 'Bulky Setup'].some(m => role === (m))) return 'Leftovers'; - if (role === 'Fast Support' || role === 'Fast Bulky Setup') { - return (counter.get('Physical') + counter.get('Special') >= 3) ? 'Life Orb' : 'Leftovers'; - } - } - - getSuperType(moves: Set | string[]): string { - for (const move of moves) { - if (move.includes('crystal')) return "Crystal"; - if (move.includes('feral')) return "Feral"; - } - return ""; - } - - override randomSet( - s: string | Species, - teamDetails: RandomTeamsTypes.TeamDetails = {}, - isLead = false, - isDoubles = false - ): RandomTeamsTypes.RandomSet { - const species = this.dex.species.get(s); - const forme = this.getForme(species); - const sets = this.randomSets[species.id]["sets"]; - const possibleSets: RandomTeamsTypes.RandomSetData[] = []; - - // const ruleTable = this.dex.formats.getRuleTable(this.format); - - for (const set of sets) { - // Prevent Fast Bulky Setup on lead Paradox Pokemon, since it generates Booster Energy. - const abilities = set.abilities!; - if ( - isLead && (abilities.includes('Protosynthesis') || abilities.includes('Quark Drive')) && - set.role === 'Fast Bulky Setup' - ) continue; - // Prevent Tera Blast user if the team already has one, or if Terastallizion is prevented. - // used here to limit team to 1 Super Types user - if (teamDetails.teraBlast && set.role === 'Tera Blast user') { - continue; - } - possibleSets.push(set); - } - const set = this.sampleIfArray(possibleSets); - const role = set.role; - const movePool: string[] = []; - for (const movename of set.movepool) { - movePool.push(this.dex.moves.get(movename).id); - } - const teraTypes = set.teraTypes!; - let teraType = this.sampleIfArray(teraTypes); - - let ability = ''; - let item = undefined; - - const evs = { hp: 85, atk: 85, def: 85, spa: 85, spd: 85, spe: 85 }; - const ivs = { hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31 }; - - const types = []; - types[0] = species.types[0]; - if (species.types[1]) types[1] = species.types[1]; - const abilities = set.abilities!; - - // Get moves - const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, isDoubles, movePool, teraType, role); - const counter = this.queryMoves(moves, species, teraType, abilities); - - if (this.getSuperType(moves)) types[1] = this.getSuperType(moves); - - // Get ability - ability = this.getAbility(types, moves, abilities, counter, teamDetails, species, isLead, isDoubles, teraType, role); - - // Get items - // First, the priority items - item = this.getPriorityItem(ability, types, moves, counter, teamDetails, species, isLead, isDoubles, teraType, role); - if (item === undefined) { - if (isDoubles) { - item = this.getDoublesItem(ability, types, moves, counter, teamDetails, species, isLead, teraType, role); - } else { - item = this.getItem(ability, types, moves, counter, teamDetails, species, isLead, teraType, role); - } - } - - // Get level - const level = this.getLevel(species, isDoubles); - - // Prepare optimal HP - const srImmunity = ability === 'Magic Guard' || item === 'Heavy-Duty Boots'; - let srWeakness = srImmunity ? 0 : this.dex.getEffectiveness('Rock', species); - // Crash damage move users want an odd HP to survive two misses - if (['axekick', 'highjumpkick', 'jumpkick'].some(m => moves.has(m))) srWeakness = 2; - while (evs.hp > 1) { - const hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); - if ((moves.has('substitute') && ['Sitrus Berry', 'Salac Berry'].includes(item))) { - // Two Substitutes should activate Sitrus Berry - if (hp % 4 === 0) break; - } else if ((moves.has('bellydrum') || moves.has('filletaway')) && (item === 'Sitrus Berry' || ability === 'Gluttony')) { - // Belly Drum should activate Sitrus Berry - if (hp % 2 === 0) break; - } else if (moves.has('substitute') && moves.has('endeavor')) { - // Luvdisc should be able to Substitute down to very low HP - if (hp % 4 > 0) break; - } else { - // Maximize number of Stealth Rock switch-ins - if (srWeakness <= 0 || ability === 'Regenerator' || ['Leftovers', 'Life Orb', 'Eviolite'].includes(item)) break; - if (item !== 'Sitrus Berry' && hp % (4 / srWeakness) > 0) break; - // Minimise number of Stealth Rock switch-ins to activate Sitrus Berry - if (item === 'Sitrus Berry' && hp % (4 / srWeakness) === 0) break; - } - evs.hp -= 4; - } - - // Minimize confusion damage - const noAttackStatMoves = [...moves].every(m => { - const move = this.dex.moves.get(m); - if (move.damageCallback || move.damage) return true; - if (move.id === 'shellsidearm') return false; - // Magearna and doubles Dragonite, though these can work well as a general rule - if (move.id === 'terablast' && ( - species.id === 'porygon2' || moves.has('shiftgear') || species.baseStats.atk > species.baseStats.spa) - ) return false; - return move.category !== 'Physical' || move.id === 'bodypress' || move.id === 'foulplay'; - }); - // prevents Illumise (who can turn into Volbeat with Physical moves) from having 0 Atk EVs - if (noAttackStatMoves && !moves.has('transform') && this.format.mod !== 'partnersincrime' && - species.id !== 'illumise') { - evs.atk = 0; - ivs.atk = 0; - } - - // Enforce Tera Type after all set generation is done to prevent infinite generation - if (this.forceTeraType) teraType = this.forceTeraType; - - // shuffle moves to add more randomness to camomons - const shuffledMoves = Array.from(moves); - this.prng.shuffle(shuffledMoves); - return { - name: species.baseSpecies, - species: forme, - gender: species.baseSpecies === 'Greninja' ? 'M' : (species.gender || (this.random(2) ? 'F' : 'M')), - shiny: this.randomChance(1, 1024), - level, - moves: shuffledMoves, - ability, - evs, - ivs, - item, - teraType, - role, - }; - } - - override randomSets: { [species: string]: RandomTeamsTypes.RandomSpeciesData } = require('./random-sets.json'); - - randomSCTeam() { - this.enforceNoDirectCustomBanlistChanges(); - - const seed = this.prng.getSeed(); - const ruleTable = this.dex.formats.getRuleTable(this.format); - const pokemon: RandomTeamsTypes.RandomSet[] = []; - - // For Monotype - const isMonotype = !!this.forceMonotype || ruleTable.has('sametypeclause'); - const isDoubles = this.format.gameType !== 'singles'; - const typePool = this.dex.types.names().filter(name => name !== "Stellar"); - const type = this.forceMonotype || this.sample(typePool); - - // PotD stuff - // const usePotD = global.Config && Config.potd && ruleTable.has('potd'); - // const potd = usePotD ? this.dex.species.get(Config.potd) : null; - - const baseFormes: { [k: string]: number } = {}; - - // const superTypeCount = 0; - const typeCount: { [k: string]: number } = {}; - const typeComboCount: { [k: string]: number } = {}; - const typeWeaknesses: { [k: string]: number } = {}; - const typeDoubleWeaknesses: { [k: string]: number } = {}; - const teamDetails: RandomTeamsTypes.TeamDetails = {}; - // let numMaxLevelPokemon = 0; - - const pokemonList = Object.keys(this.randomSets); - const [pokemonPool, baseSpeciesPool] = this.getPokemonPool(type, pokemon, isMonotype, pokemonList); - - let leadsRemaining = this.format.gameType === 'doubles' ? 2 : 1; - while (baseSpeciesPool.length && pokemon.length < this.maxTeamSize) { - const baseSpecies = this.sampleNoReplace(baseSpeciesPool); - const species = this.dex.species.get(this.sample(pokemonPool[baseSpecies])); - if (!species.exists) continue; - - // Limit to one of each species (Species Clause) - if (baseFormes[species.baseSpecies]) continue; - - // Treat Ogerpon formes and Terapagos like the Tera Blast user role; reject if team has one already - if (['ogerpon', 'ogerponhearthflame', 'terapagos'].includes(species.id) && teamDetails.teraBlast) continue; - - // Illusion shouldn't be on the last slot - if (species.baseSpecies === 'Sorrowcean' && pokemon.length >= (this.maxTeamSize - 1)) continue; - - const types = species.types; - const typeCombo = types.slice().sort().join(); - const weakToFreezeDry = ( - this.dex.getEffectiveness('Ice', species) > 0 || - (this.dex.getEffectiveness('Ice', species) > -2 && types.includes('Water')) - ); - // Dynamically scale limits for different team sizes. The default and minimum value is 1. - const limitFactor = Math.round(this.maxTeamSize / 6) || 1; - - // Limit three of any type combination in Monotype - if (!this.forceMonotype && isMonotype && (typeComboCount[typeCombo] >= 3 * limitFactor)) continue; - - // The Pokemon of the Day - // if (potd?.exists && (pokemon.length === 1 || this.maxTeamSize === 1)) species = potd; - - // testing code - // if (pokemon.length === 0 || this.maxTeamSize === 1) species = this.dex.species.get('Terapagos'); - - let set: RandomTeamsTypes.RandomSet; - - if (leadsRemaining) { - if ( - isDoubles && DOUBLES_NO_LEAD_POKEMON.includes(species.baseSpecies) || - !isDoubles && NO_LEAD_POKEMON.includes(species.baseSpecies) - ) { - if (pokemon.length + leadsRemaining === this.maxTeamSize) continue; - set = this.randomSet(species, teamDetails, false, isDoubles); - if (teamDetails.teraBlast && this.getSuperType(set.moves)) continue; - pokemon.push(set); - } else { - set = this.randomSet(species, teamDetails, true, isDoubles); - if (teamDetails.teraBlast && this.getSuperType(set.moves)) continue; - pokemon.unshift(set); - leadsRemaining--; - } - } else { - set = this.randomSet(species, teamDetails, false, isDoubles); - if (teamDetails.teraBlast && this.getSuperType(set.moves)) continue; - pokemon.push(set); - } - - // Don't bother tracking details for the last Pokemon - if (pokemon.length === this.maxTeamSize) break; - - // Now that our Pokemon has passed all checks, we can increment our counters - baseFormes[species.baseSpecies] = 1; - - // Increment type counters - for (const typeName of types) { - if (typeName in typeCount) { - typeCount[typeName]++; - } else { - typeCount[typeName] = 1; - } - } - if (typeCombo in typeComboCount) { - typeComboCount[typeCombo]++; - } else { - typeComboCount[typeCombo] = 1; - } - - // Increment item counter - if (set.item === "Crystal Orb" || set.item === "Feral Orb") { - teamDetails.teraBlast = 1; - } - - // Increment weakness counter - for (const typeName of this.dex.types.names()) { - // it's weak to the type - if (this.dex.getEffectiveness(typeName, species) > 0) { - typeWeaknesses[typeName]++; - } - if (this.dex.getEffectiveness(typeName, species) > 1) { - typeDoubleWeaknesses[typeName]++; - } - } - // Count Dry Skin/Fluffy as Fire weaknesses - if (['Dry Skin', 'Fluffy'].includes(set.ability) && this.dex.getEffectiveness('Fire', species) === 0) { - typeWeaknesses['Fire']++; - } - if (weakToFreezeDry) typeWeaknesses['Freeze-Dry']++; - - // Increment level 100 counter - // if (set.level === 100) numMaxLevelPokemon++; - - // Track what the team has - if (set.ability === 'Drizzle' || set.moves.includes('raindance')) teamDetails.rain = 1; - if (set.ability === 'Drought' || set.ability === 'Orichalcum Pulse' || set.moves.includes('sunnyday')) { - teamDetails.sun = 1; - } - if (set.ability === 'Sand Stream') teamDetails.sand = 1; - if (set.ability === 'Snow Warning' || set.moves.includes('snowscape') || set.moves.includes('chillyreception')) { - teamDetails.snow = 1; - } - if (set.moves.includes('healbell')) teamDetails.statusCure = 1; - if (set.moves.includes('spikes') || set.moves.includes('ceaselessedge')) { - teamDetails.spikes = (teamDetails.spikes || 0) + 1; - } - if (set.moves.includes('toxicspikes') || set.ability === 'Toxic Debris') teamDetails.toxicSpikes = 1; - if (set.moves.includes('stealthrock') || set.moves.includes('stoneaxe')) teamDetails.stealthRock = 1; - if (set.moves.includes('stickyweb')) teamDetails.stickyWeb = 1; - if (set.moves.includes('defog')) teamDetails.defog = 1; - if (set.moves.includes('rapidspin') || set.moves.includes('mortalspin')) teamDetails.rapidSpin = 1; - if (set.moves.includes('auroraveil') || (set.moves.includes('reflect') && set.moves.includes('lightscreen'))) { - teamDetails.screens = 1; - } - if (set.role === 'Tera Blast user' || species.baseSpecies === "Ogerpon" || species.baseSpecies === "Terapagos") { - teamDetails.teraBlast = 1; - } - } - if (pokemon.length < this.maxTeamSize && pokemon.length < 12) { // large teams sometimes cannot be built - throw new Error(`Could not build a random team for ${this.format} (seed=${seed})`); - } - - return pokemon; - } -} - -export default RandomSCTeams; +import { RandomTeams, type MoveCounter } from "../gen9/teams"; + +// Moves that restore HP: +const RECOVERY_MOVES = [ + 'healorder', 'milkdrink', 'moonlight', 'morningsun', 'recover', 'roost', 'shoreup', 'slackoff', 'softboiled', 'strengthsap', 'synthesis', +]; +// Moves that boost Attack: +const PHYSICAL_SETUP = [ + 'bellydrum', 'bulkup', 'coil', 'curse', 'dragondance', 'honeclaws', 'howl', 'meditate', 'poweruppunch', 'swordsdance', 'tidyup', 'victorydance', + 'filletaway', +]; +// Moves which boost Special Attack: +const SPECIAL_SETUP = [ + 'calmmind', 'chargebeam', 'geomancy', 'nastyplot', 'quiverdance', 'tailglow', 'takeheart', 'torchsong', 'filletaway', +]; +// Some moves that only boost Speed: +const SPEED_SETUP = [ + 'agility', 'autotomize', 'flamecharge', 'rockpolish', 'trailblaze', +]; +// Conglomerate for ease of access +const SETUP = [ + 'acidarmor', 'agility', 'autotomize', 'bellydrum', 'bulkup', 'calmmind', 'clangoroussoul', 'coil', 'cosmicpower', 'curse', 'dragondance', + 'filletaway', 'flamecharge', 'growth', 'honeclaws', 'howl', 'irondefense', 'meditate', 'nastyplot', 'noretreat', 'poweruppunch', 'quiverdance', + 'rockpolish', 'shellsmash', 'shiftgear', 'swordsdance', 'tailglow', 'takeheart', 'tidyup', 'trailblaze', 'trickroom', 'workup', 'victorydance', + 'feralresilience', 'feralspray', 'crystalfortification', +]; +const SPEED_CONTROL = [ + 'electroweb', 'glare', 'icywind', 'lowsweep', 'quash', 'stringshot', 'tailwind', 'thunderwave', 'trickroom', +]; +// Hazard-setting moves +const HAZARDS = [ + 'spikes', 'stealthrock', 'stickyweb', 'toxicspikes', 'crystalshard', +]; +// Protect and its variants +const PROTECT_MOVES = [ + 'banefulbunker', 'burningbulwark', 'protect', 'silktrap', 'spikyshield', +]; +// Moves that switch the user out +const PIVOT_MOVES = [ + 'chillyreception', 'flipturn', 'partingshot', 'shedtail', 'teleport', 'uturn', 'voltswitch', +]; + +// Moves that should be paired together when possible +const MOVE_PAIRS = [ + ['lightscreen', 'reflect'], + ['sleeptalk', 'rest'], + ['protect', 'wish'], + ['spikyshield', 'wish'], + ['leechseed', 'protect'], + ['leechseed', 'substitute'], + ['moongeistbeam', 'moonlight'], + ['hex', 'willowisp'], + ['hex', 'toxic'], + ['hex', 'thunderwave'], + ['nightmare', 'willowisp'], + ['nightmare', 'toxic'], + ['nightmare', 'thunderwave'], +]; + +/** Pokemon who always want priority STAB, and are fine with it as its only STAB move of that type */ +const PRIORITY_POKEMON = [ + 'breloom', 'brutebonnet', 'cacturne', 'honchkrow', 'mimikyu', 'ragingbolt', 'scizor', +]; + +/** Pokemon who should never be in the lead slot */ +const NO_LEAD_POKEMON = [ + 'Zacian', 'Zamazenta', +]; +const DOUBLES_NO_LEAD_POKEMON = [ + 'Basculegion', 'Houndstone', 'Iron Bundle', 'Roaring Moon', 'Zacian', 'Zamazenta', +]; +export class Random6x6Teams extends RandomTeams { + override cullMovePool( + types: string[], + moves: Set, + abilities: string[], + counter: MoveCounter, + movePool: string[], + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + isLead: boolean, + isDoubles: boolean, + teraType: string, + role: RandomTeamsTypes.Role, + ): void { + if (moves.size + movePool.length <= this.maxMoveCount) return; + // If we have two unfilled moves and only one unpaired move, cull the unpaired move. + if (moves.size === this.maxMoveCount - 2) { + const unpairedMoves = [...movePool]; + for (const pair of MOVE_PAIRS) { + if (movePool.includes(pair[0]) && movePool.includes(pair[1])) { + this.fastPop(unpairedMoves, unpairedMoves.indexOf(pair[0])); + this.fastPop(unpairedMoves, unpairedMoves.indexOf(pair[1])); + } + } + if (unpairedMoves.length === 1) { + this.fastPop(movePool, movePool.indexOf(unpairedMoves[0])); + } + } + + // These moves are paired, and shouldn't appear if there is not room for them both. + if (moves.size === this.maxMoveCount - 1) { + for (const pair of MOVE_PAIRS) { + if (movePool.includes(pair[0]) && movePool.includes(pair[1])) { + this.fastPop(movePool, movePool.indexOf(pair[0])); + this.fastPop(movePool, movePool.indexOf(pair[1])); + } + } + } + + // Develop additional move lists + const statusMoves = this.cachedStatusMoves; + + // Team-based move culls + if (teamDetails.screens) { + if (movePool.includes('auroraveil')) this.fastPop(movePool, movePool.indexOf('auroraveil')); + if (movePool.length >= this.maxMoveCount + 2) { + if (movePool.includes('reflect')) this.fastPop(movePool, movePool.indexOf('reflect')); + if (movePool.includes('lightscreen')) this.fastPop(movePool, movePool.indexOf('lightscreen')); + } + } + if (teamDetails.stickyWeb) { + if (movePool.includes('stickyweb')) this.fastPop(movePool, movePool.indexOf('stickyweb')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + if (teamDetails.stealthRock) { + if (movePool.includes('stealthrock')) this.fastPop(movePool, movePool.indexOf('stealthrock')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + if (teamDetails.defog || teamDetails.rapidSpin) { + if (movePool.includes('defog')) this.fastPop(movePool, movePool.indexOf('defog')); + if (movePool.includes('rapidspin')) this.fastPop(movePool, movePool.indexOf('rapidspin')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + if (teamDetails.toxicSpikes) { + if (movePool.includes('toxicspikes')) this.fastPop(movePool, movePool.indexOf('toxicspikes')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + if (teamDetails.spikes && teamDetails.spikes >= 2) { + if (movePool.includes('spikes')) this.fastPop(movePool, movePool.indexOf('spikes')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + if (teamDetails.statusCure) { + if (movePool.includes('healbell')) this.fastPop(movePool, movePool.indexOf('healbell')); + if (moves.size + movePool.length <= this.maxMoveCount) return; + } + + if (isDoubles) { + const doublesIncompatiblePairs = [ + // In order of decreasing generalizability + [SPEED_CONTROL, SPEED_CONTROL], + [HAZARDS, HAZARDS], + ['rockslide', 'stoneedge'], + [SETUP, ['fakeout', 'helpinghand']], + [PROTECT_MOVES, 'wideguard'], + [['fierydance', 'fireblast'], 'heatwave'], + ['dazzlinggleam', ['fleurcannon', 'moonblast']], + ['poisongas', ['toxicspikes', 'willowisp']], + [RECOVERY_MOVES, ['healpulse', 'lifedew']], + ['healpulse', 'lifedew'], + ['haze', 'icywind'], + [['hydropump', 'muddywater'], ['muddywater', 'scald']], + ['disable', 'encore'], + ['freezedry', 'icebeam'], + ['energyball', 'leafstorm'], + ['earthpower', 'sandsearstorm'], + ['coaching', ['helpinghand', 'howl']], + ]; + + for (const pair of doublesIncompatiblePairs) this.incompatibleMoves(moves, movePool, pair[0], pair[1]); + + if (role !== 'Offensive Protect') this.incompatibleMoves(moves, movePool, PROTECT_MOVES, ['flipturn', 'uturn']); + } + + // General incompatibilities + const incompatiblePairs = [ + // These moves don't mesh well with other aspects of the set + [statusMoves, ['healingwish', 'switcheroo', 'trick']], + [SETUP, PIVOT_MOVES], + [SETUP, HAZARDS], + [SETUP, ['defog', 'nuzzle', 'toxic', 'yawn', 'haze']], + [PHYSICAL_SETUP, PHYSICAL_SETUP], + [SPECIAL_SETUP, 'thunderwave'], + ['substitute', PIVOT_MOVES], + [SPEED_SETUP, ['aquajet', 'rest', 'trickroom']], + ['curse', ['irondefense', 'rapidspin']], + ['dragondance', 'dracometeor'], + ['yawn', 'roar'], + ['trick', 'uturn'], + + // These attacks are redundant with each other + [['psychic', 'psychicnoise'], ['psyshock', 'psychicnoise']], + ['surf', ['hydropump', 'scald']], + ['liquidation', 'wavecrash'], + ['aquajet', 'flipturn'], + ['gigadrain', 'leafstorm'], + ['powerwhip', 'hornleech'], + ['airslash', 'hurricane'], + ['knockoff', 'foulplay'], + ['throatchop', ['crunch', 'lashout']], + ['doubleedge', ['bodyslam', 'headbutt']], + [['fireblast', 'magmastorm'], ['fierydance', 'flamethrower', 'lavaplume']], + ['thunderpunch', 'wildcharge'], + ['thunderbolt', 'discharge'], + ['gunkshot', ['direclaw', 'poisonjab', 'sludgebomb']], + ['aurasphere', 'focusblast'], + ['closecombat', 'drainpunch'], + [['dragonpulse', 'spacialrend'], 'dracometeor'], + ['heavyslam', 'flashcannon'], + ['alluringvoice', 'dazzlinggleam'], + ['defog', 'rapidspin'], + + // These status moves are redundant with each other + ['taunt', 'disable'], + [['thunderwave', 'toxic'], ['thunderwave', 'willowisp']], + [['thunderwave', 'toxic', 'willowisp'], 'toxicspikes'], + + // This space reserved for assorted hardcodes that otherwise make little sense out of context + // Landorus and Thundurus + ['nastyplot', ['rockslide', 'knockoff']], + // Persian + ['switcheroo', 'fakeout'], + // Amoonguss, though this can work well as a general rule later + ['toxic', 'clearsmog'], + // Chansey and Blissey + ['healbell', 'stealthrock'], + // Araquanid and Magnezone + ['mirrorcoat', ['hydropump', 'bodypress']], + ]; + + for (const pair of incompatiblePairs) this.incompatibleMoves(moves, movePool, pair[0], pair[1]); + + if (!types.includes('Ice')) this.incompatibleMoves(moves, movePool, 'icebeam', 'icywind'); + + if (!isDoubles) this.incompatibleMoves(moves, movePool, 'taunt', 'encore'); + + if (!types.includes('Dark') && teraType !== 'Dark') this.incompatibleMoves(moves, movePool, 'knockoff', 'suckerpunch'); + + if (!abilities.includes('Prankster')) this.incompatibleMoves(moves, movePool, 'thunderwave', 'yawn'); + + // This space reserved for assorted hardcodes that otherwise make little sense out of context: + // To force Close Combat on Barraskewda without locking it to Tera Fighting + if (species.id === 'barraskewda') { + this.incompatibleMoves(moves, movePool, ['psychicfangs', 'throatchop'], ['poisonjab', 'throatchop']); + } + // To force Toxic on Quagsire + if (species.id === 'quagsire') this.incompatibleMoves(moves, movePool, 'spikes', 'icebeam'); + // Taunt/Knock should be Cyclizar's flex moveslot + if (species.id === 'cyclizar') this.incompatibleMoves(moves, movePool, 'taunt', 'knockoff'); + // To force Stealth Rock on Camerupt + if (species.id === 'camerupt') this.incompatibleMoves(moves, movePool, 'roar', 'willowisp'); + // nothing else rolls these lol + if (species.id === 'coalossal') this.incompatibleMoves(moves, movePool, 'flamethrower', 'overheat'); + } + + override randomMoveset( + types: string[], + abilities: string[], + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + isLead: boolean, + isDoubles: boolean, + movePool: string[], + teraType: string, + role: RandomTeamsTypes.Role, + ): Set { + const moves = new Set(); + let counter = this.queryMoves(moves, species, teraType, abilities); + this.cullMovePool(types, moves, abilities, counter, movePool, teamDetails, species, isLead, isDoubles, teraType, role); + + // If there are only four moves, add all moves and return early + if (movePool.length <= this.maxMoveCount) { + for (const moveid of movePool) { + moves.add(moveid); + } + return moves; + } + + const runEnforcementChecker = (checkerName: string) => { + if (!this.moveEnforcementCheckers[checkerName]) return false; + return this.moveEnforcementCheckers[checkerName]( + movePool, moves, abilities, types, counter, species, teamDetails, isLead, isDoubles, teraType, role + ); + }; + + if (role === 'Tera Blast user') { + counter = this.addMove('terablast', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + // Add required move (e.g. Relic Song for Meloetta-P) + if (species.requiredMove) { + const move = this.dex.moves.get(species.requiredMove).id; + counter = this.addMove(move, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + + // Add other moves you really want to have, e.g. STAB, recovery, setup. + + // Enforce Facade if Guts is a possible ability + if (movePool.includes('facade') && abilities.includes('Guts')) { + counter = this.addMove('facade', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + + // Enforce Night Shade, Revelation Dance, Revival Blessing, and Sticky Web + for (const moveid of ['nightshade', 'revelationdance', 'revivalblessing', 'stickyweb']) { + if (movePool.includes(moveid)) { + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce Trick Room on Doubles Wallbreaker + if (movePool.includes('trickroom') && role === 'Doubles Wallbreaker') { + counter = this.addMove('trickroom', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + + // Enforce hazard removal on Bulky Support if the team doesn't already have it + if (role === 'Bulky Support' && !teamDetails.defog && !teamDetails.rapidSpin) { + if (movePool.includes('rapidspin')) { + counter = this.addMove('rapidspin', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + if (movePool.includes('defog')) { + counter = this.addMove('defog', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce Knock Off on pure Normal- and Fighting-types in singles + if (!isDoubles && types.length === 1 && (types.includes('Normal') || types.includes('Fighting'))) { + if (movePool.includes('knockoff')) { + counter = this.addMove('knockoff', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce Flip Turn on pure Water-type Wallbreakers + if (types.length === 1 && types.includes('Water') && + role === 'Wallbreaker' && movePool.includes('flipturn')) { + counter = this.addMove('flipturn', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + + // Enforce Spore on Smeargle + if (species.id === 'smeargle') { + if (movePool.includes('spore')) { + counter = this.addMove('spore', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce moves in doubles + if (isDoubles) { + const doublesEnforcedMoves = ['auroraveil', 'mortalspin', 'spore']; + for (const moveid of doublesEnforcedMoves) { + if (movePool.includes(moveid)) { + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + // Enforce Fake Out on slow Pokemon + if (movePool.includes('fakeout') && species.baseStats.spe <= 50) { + counter = this.addMove('fakeout', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + // Enforce Tailwind on Prankster and Gale Wings users + if (movePool.includes('tailwind') && (abilities.includes('Prankster') || abilities.includes('Gale Wings'))) { + counter = this.addMove('tailwind', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + // Enforce Thunder Wave on Prankster users as well + if (movePool.includes('thunderwave') && abilities.includes('Prankster')) { + counter = this.addMove('thunderwave', moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce STAB priority + if ( + ['Bulky Attacker', 'Bulky Setup', 'Wallbreaker', 'Doubles Wallbreaker'].includes(role) || + PRIORITY_POKEMON.includes(species.id) + ) { + const priorityMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, teraType); + if ( + types.includes(moveType) && (move.priority > 0 || (moveid === 'grassyglide' && abilities.includes('Grassy Surge'))) && + (move.basePower || move.basePowerCallback) + ) { + priorityMoves.push(moveid); + } + } + if (priorityMoves.length) { + const moveid = this.sample(priorityMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce a single STAB for Moltres + if (species.id === 'moltres') { + const typeToEnforce = this.randomChance(1, 2) ? 'Fire' : 'Flying'; + + const stabMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, teraType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && typeToEnforce === moveType) { + stabMoves.push(moveid); + } + } + while (runEnforcementChecker(typeToEnforce)) { + if (!stabMoves.length) break; + const moveid = this.sampleNoReplace(stabMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce STAB + for (const type of types) { + // Moltres already has STAB, so ignore this block + if (species.id === 'moltres') break; + // prevents Meowscarada from being enforced stab moves + if (species.id === 'meowscarada') break; + // Check if a STAB move of that type should be required + const stabMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, teraType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && type === moveType) { + stabMoves.push(moveid); + } + } + while (runEnforcementChecker(type)) { + if (!stabMoves.length) break; + const moveid = this.sampleNoReplace(stabMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce Tera STAB + // prevents Meowscarada from being enforced stab moves (since it has Protean and doesn't care) + if (!counter.get('stabtera') && !['Bulky Support', 'Doubles Support'].includes(role) && + !abilities.includes('Protean')) { + const stabMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, teraType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && teraType === moveType) { + stabMoves.push(moveid); + } + } + if (stabMoves.length) { + const moveid = this.sample(stabMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // If no STAB move was added, add a STAB move + // prevents Meowscarada from being enforced stab moves (since it has Protean and doesn't care) + if (!counter.get('stab') && !abilities.includes('Protean')) { + const stabMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, teraType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback) && types.includes(moveType)) { + stabMoves.push(moveid); + } + } + if (stabMoves.length) { + const moveid = this.sample(stabMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce recovery + if (['Bulky Support', 'Bulky Attacker', 'Bulky Setup'].includes(role)) { + const recoveryMoves = movePool.filter(moveid => RECOVERY_MOVES.includes(moveid)); + if (recoveryMoves.length) { + const moveid = this.sample(recoveryMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce setup + if (role.includes('Setup') || role === 'Tera Blast user') { + // First, try to add a non-Speed setup move + const nonSpeedSetupMoves = movePool.filter(moveid => SETUP.includes(moveid) && !SPEED_SETUP.includes(moveid)); + if (nonSpeedSetupMoves.length) { + const moveid = this.sample(nonSpeedSetupMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } else { + // No non-Speed setup moves, so add any (Speed) setup move + const setupMoves = movePool.filter(moveid => SETUP.includes(moveid)); + if (setupMoves.length) { + const moveid = this.sample(setupMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + } + + // Enforce redirecting moves and Fake Out on Doubles Support + if (role === 'Doubles Support') { + for (const moveid of ['fakeout', 'followme', 'ragepowder']) { + if (movePool.includes(moveid)) { + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + } + + // Enforce Protect + if (role.includes('Protect')) { + const protectMoves = movePool.filter(moveid => PROTECT_MOVES.includes(moveid)); + if (protectMoves.length) { + const moveid = this.sample(protectMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce a move not on the noSTAB list + if (!counter.damagingMoves.size) { + // Choose an attacking move + const attackingMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + if (!this.noStab.includes(moveid) && (move.category !== 'Status')) attackingMoves.push(moveid); + } + if (attackingMoves.length) { + const moveid = this.sample(attackingMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + + // Enforce coverage move + if (!['AV Pivot', 'Fast Support', 'Bulky Support', 'Bulky Protect', 'Doubles Support'].includes(role)) { + if (counter.damagingMoves.size === 1) { + // Find the type of the current attacking move + const currentAttackType = counter.damagingMoves.values().next().value!.type; + // Choose an attacking move that is of different type to the current single attack + const coverageMoves = []; + for (const moveid of movePool) { + const move = this.dex.moves.get(moveid); + const moveType = this.getMoveType(move, species, abilities, teraType); + if (!this.noStab.includes(moveid) && (move.basePower || move.basePowerCallback)) { + if (currentAttackType !== moveType) coverageMoves.push(moveid); + } + } + if (coverageMoves.length) { + const moveid = this.sample(coverageMoves); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + } + + // Add (moves.size < this.maxMoveCount) as a condition if moves is getting larger than 4 moves. + // If you want moves to be favored but not required, add something like && this.randomChance(1, 2) to your condition. + + // Choose remaining moves randomly from movepool and add them to moves list: + while (moves.size < this.maxMoveCount && movePool.length) { + if (moves.size + movePool.length <= this.maxMoveCount) { + for (const moveid of movePool) { + moves.add(moveid); + } + break; + } + const moveid = this.sample(movePool); + counter = this.addMove(moveid, moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + for (const pair of MOVE_PAIRS) { + if (moveid === pair[0] && movePool.includes(pair[1])) { + counter = this.addMove(pair[1], moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + if (moveid === pair[1] && movePool.includes(pair[0])) { + counter = this.addMove(pair[0], moves, types, abilities, teamDetails, species, isLead, isDoubles, + movePool, teraType, role); + } + } + } + return moves; + } + + override getPriorityItem( + ability: string, + types: string[], + moves: Set, + counter: MoveCounter, + teamDetails: RandomTeamsTypes.TeamDetails, + species: Species, + isLead: boolean, + isDoubles: boolean, + teraType: string, + role: RandomTeamsTypes.Role, + ) { + if (!isDoubles) { + if (role === 'Fast Bulky Setup' && (ability === 'Quark Drive' || ability === 'Protosynthesis')) { + return 'Booster Energy'; + } + if (species.id === 'lokix') { + return (role === 'Fast Attacker') ? 'Silver Powder' : 'Life Orb'; + } + } + if (species.requiredItems) { + // Z-Crystals aren't available in Gen 9, so require Plates + if (species.baseSpecies === 'Arceus') { + return species.requiredItems[0]; + } + return this.sample(species.requiredItems); + } + if (role === 'AV Pivot') return 'Assault Vest'; + // other + if (moves.has('substitute')) return 'Leftovers'; + if (moves.has('protect') && ability !== 'Speed Boost') return 'Leftovers'; + if (counter.get('skilllink') && ability !== 'Skill Link' && species.id !== 'breloom') return 'Loaded Dice'; + if (moves.has('shellsmash') && ability !== 'Weak Armor') return 'White Herb'; + if ((ability === 'Guts' || moves.has('facade')) && !moves.has('sleeptalk')) { + return (types.includes('Fire') || ability === 'Toxic Boost' || ability === 'Poison Heal') ? 'Toxic Orb' : 'Flame Orb'; + } + if (['healingwish', 'switcheroo', 'trick'].some(m => moves.has(m))) { + if ( + species.baseStats.spe >= 60 && species.baseStats.spe <= 108 && + role !== 'Wallbreaker' && role !== 'Doubles Wallbreaker' && !counter.get('priority') + ) { + return 'Choice Scarf'; + } else { + return (counter.get('Physical') > counter.get('Special')) ? 'Choice Band' : 'Choice Specs'; + } + } + if ( + role === 'Wallbreaker' && (counter.get('Physical') > counter.get('Special')) && !counter.get('Status') + ) { + return 'Choice Band'; + } + if ( + role === 'Wallbreaker' && (counter.get('Physical') < counter.get('Special')) && !counter.get('Status') + ) { + return 'Choice Specs'; + } + if (ability === 'Poison Heal' || ability === 'Quick Feet') return 'Toxic Orb'; + if (moves.has('acrobatics') && ability !== 'Quark Drive' && ability !== 'Protosynthesis') return ''; + if (moves.has('auroraveil') || moves.has('lightscreen') && moves.has('reflect')) return 'Light Clay'; + if (ability === 'Gluttony') return `${this.sample(['Aguav', 'Figy', 'Iapapa', 'Mago', 'Wiki'])} Berry`; + if ( + ['Cheek Pouch', 'Cud Chew', 'Harvest', 'Ripen'].some(m => ability === m) || + moves.has('bellydrum') || moves.has('filletaway') + ) { + return 'Sitrus Berry'; + } + if (this.dex.getEffectiveness('Rock', species) >= 2) return 'Heavy-Duty Boots'; + if (species.nfe) return 'Eviolite'; + if (['Bulky Attacker', 'Bulky Support', 'Bulky Setup'].some(m => role === (m))) return 'Leftovers'; + if (role === 'Fast Support' || role === 'Fast Bulky Setup') { + return (counter.get('Physical') + counter.get('Special') >= 3) ? 'Life Orb' : 'Leftovers'; + } + } + + override randomSet( + s: string | Species, + teamDetails: RandomTeamsTypes.TeamDetails = {}, + isLead = false, + isDoubles = false + ): RandomTeamsTypes.RandomSet { + const species = this.dex.species.get(s); + const forme = this.getForme(species); + const sets = this.randomSets[species.id]["sets"]; + const possibleSets: RandomTeamsTypes.RandomSetData[] = []; + + // const ruleTable = this.dex.formats.getRuleTable(this.format); + + for (const set of sets) { + // Prevent Fast Bulky Setup on lead Paradox Pokemon, since it generates Booster Energy. + const abilities = set.abilities!; + if ( + isLead && (abilities.includes('Protosynthesis') || abilities.includes('Quark Drive')) && + set.role === 'Fast Bulky Setup' + ) continue; + // Prevent Tera Blast user if the team already has one, or if Terastallizion is prevented. + if (teamDetails.teraBlast && set.role === 'Tera Blast user') { + continue; + } + possibleSets.push(set); + } + const set = this.sampleIfArray(possibleSets); + const role = set.role; + const movePool: string[] = []; + for (const movename of set.movepool) { + movePool.push(this.dex.moves.get(movename).id); + } + const teraTypes = set.teraTypes!; + let teraType = this.sampleIfArray(teraTypes); + + let ability = ''; + let item = undefined; + + const evs = { hp: 85, atk: 85, def: 85, spa: 85, spd: 85, spe: 85 }; + const ivs = { hp: 31, atk: 31, def: 31, spa: 31, spd: 31, spe: 31 }; + + const types = []; + types[0] = species.types[0]; + if (species.types[1]) types[1] = species.types[1]; + const abilities = set.abilities!; + + // Get moves + const moves = this.randomMoveset(types, abilities, teamDetails, species, isLead, isDoubles, movePool, teraType, role); + const counter = this.queryMoves(moves, species, teraType, abilities); + + // Get ability + ability = this.getAbility(types, moves, abilities, counter, teamDetails, species, isLead, isDoubles, teraType, role); + + // Get items + // First, the priority items + item = this.getPriorityItem(ability, types, moves, counter, teamDetails, species, isLead, isDoubles, teraType, role); + if (item === undefined) { + if (isDoubles) { + item = this.getDoublesItem(ability, types, moves, counter, teamDetails, species, isLead, teraType, role); + } else { + item = this.getItem(ability, types, moves, counter, teamDetails, species, isLead, teraType, role); + } + } + + // Get level + const level = this.getLevel(species, isDoubles); + + // Prepare optimal HP + const srImmunity = ability === 'Magic Guard' || item === 'Heavy-Duty Boots'; + let srWeakness = srImmunity ? 0 : this.dex.getEffectiveness('Rock', species); + // Crash damage move users want an odd HP to survive two misses + if (['axekick', 'highjumpkick', 'jumpkick'].some(m => moves.has(m))) srWeakness = 2; + while (evs.hp > 1) { + const hp = Math.floor(Math.floor(2 * species.baseStats.hp + ivs.hp + Math.floor(evs.hp / 4) + 100) * level / 100 + 10); + if ((moves.has('substitute') && ['Sitrus Berry', 'Salac Berry'].includes(item))) { + // Two Substitutes should activate Sitrus Berry + if (hp % 4 === 0) break; + } else if ((moves.has('bellydrum') || moves.has('filletaway')) && (item === 'Sitrus Berry' || ability === 'Gluttony')) { + // Belly Drum should activate Sitrus Berry + if (hp % 2 === 0) break; + } else if (moves.has('substitute') && moves.has('endeavor')) { + // Luvdisc should be able to Substitute down to very low HP + if (hp % 4 > 0) break; + } else { + // Maximize number of Stealth Rock switch-ins + if (srWeakness <= 0 || ability === 'Regenerator' || ['Leftovers', 'Life Orb', 'Eviolite'].includes(item)) break; + if (item !== 'Sitrus Berry' && hp % (4 / srWeakness) > 0) break; + // Minimise number of Stealth Rock switch-ins to activate Sitrus Berry + if (item === 'Sitrus Berry' && hp % (4 / srWeakness) === 0) break; + } + evs.hp -= 4; + } + + // Minimize confusion damage + const noAttackStatMoves = [...moves].every(m => { + const move = this.dex.moves.get(m); + if (move.damageCallback || move.damage) return true; + if (move.id === 'shellsidearm') return false; + // Magearna and doubles Dragonite, though these can work well as a general rule + if (move.id === 'terablast' && ( + species.id === 'porygon2' || moves.has('shiftgear') || species.baseStats.atk > species.baseStats.spa) + ) return false; + return move.category !== 'Physical' || move.id === 'bodypress' || move.id === 'foulplay'; + }); + // prevents Illumise (who can turn into Volbeat with Physical moves) from having 0 Atk EVs + if (noAttackStatMoves && !moves.has('transform') && this.format.mod !== 'partnersincrime' && + species.id !== 'illumise') { + evs.atk = 0; + ivs.atk = 0; + } + + // Enforce Tera Type after all set generation is done to prevent infinite generation + if (this.forceTeraType) teraType = this.forceTeraType; + + // shuffle moves to add more randomness to camomons + const shuffledMoves = Array.from(moves); + this.prng.shuffle(shuffledMoves); + return { + name: species.baseSpecies, + species: forme, + gender: species.baseSpecies === 'Greninja' ? 'M' : (species.gender || (this.random(2) ? 'F' : 'M')), + shiny: this.randomChance(1, 1024), + level, + moves: shuffledMoves, + ability, + evs, + ivs, + item, + teraType, + role, + }; + } + + override randomSets: { [species: string]: RandomTeamsTypes.RandomSpeciesData } = require('./random-sets.json'); + + random6x6Team() { + this.enforceNoDirectCustomBanlistChanges(); + + const seed = this.prng.getSeed(); + const ruleTable = this.dex.formats.getRuleTable(this.format); + const pokemon: RandomTeamsTypes.RandomSet[] = []; + + // For Monotype + const isMonotype = !!this.forceMonotype || ruleTable.has('sametypeclause'); + const isDoubles = this.format.gameType !== 'singles'; + const typePool = this.dex.types.names().filter(name => name !== "Stellar"); + const type = this.forceMonotype || this.sample(typePool); + + // PotD stuff + // const usePotD = global.Config && Config.potd && ruleTable.has('potd'); + // const potd = usePotD ? this.dex.species.get(Config.potd) : null; + + const baseFormes: { [k: string]: number } = {}; + + const typeCount: { [k: string]: number } = {}; + const typeComboCount: { [k: string]: number } = {}; + const typeWeaknesses: { [k: string]: number } = {}; + const typeDoubleWeaknesses: { [k: string]: number } = {}; + const teamDetails: RandomTeamsTypes.TeamDetails = {}; + + const pokemonList = Object.keys(this.randomSets); + const [pokemonPool, baseSpeciesPool] = this.getPokemonPool(type, pokemon, isMonotype, pokemonList); + + let leadsRemaining = this.format.gameType === 'doubles' ? 2 : 1; + while (baseSpeciesPool.length && pokemon.length < this.maxTeamSize) { + const baseSpecies = this.sampleNoReplace(baseSpeciesPool); + // const z = 0; + const species = this.dex.species.get(this.sample(pokemonPool[baseSpecies])); + if (!species.exists) continue; + + // Limit to one of each species (Species Clause) + if (baseFormes[species.baseSpecies]) continue; + + // Treat Ogerpon formes and Terapagos like the Tera Blast user role; reject if team has one already + if (['ogerpon', 'ogerponhearthflame', 'terapagos'].includes(species.id) && teamDetails.teraBlast) continue; + + const types = species.types; + const typeCombo = types.slice().sort().join(); + const weakToFreezeDry = ( + this.dex.getEffectiveness('Ice', species) > 0 || + (this.dex.getEffectiveness('Ice', species) > -2 && types.includes('Water')) + ); + // Dynamically scale limits for different team sizes. The default and minimum value is 1. + const limitFactor = Math.round(this.maxTeamSize / 6) || 1; + + // Limit three of any type combination in Monotype + if (!this.forceMonotype && isMonotype && (typeComboCount[typeCombo] >= 3 * limitFactor)) continue; + + // The Pokemon of the Day + // if (potd?.exists && (pokemon.length === 1 || this.maxTeamSize === 1)) species = potd; + + // testing code + // if (pokemon.length === 0 || this.maxTeamSize === 1) species = this.dex.species.get('Terapagos'); + + let set: RandomTeamsTypes.RandomSet; + + if (leadsRemaining) { + if ( + isDoubles && DOUBLES_NO_LEAD_POKEMON.includes(species.baseSpecies) || + !isDoubles && NO_LEAD_POKEMON.includes(species.baseSpecies) + ) { + if (pokemon.length + leadsRemaining === this.maxTeamSize) continue; + set = this.randomSet(species, teamDetails, false, isDoubles); + if (teamDetails.teraBlast) continue; + pokemon.push(set); + } else { + set = this.randomSet(species, teamDetails, true, isDoubles); + // if (teamDetails.teraBlast) continue; + pokemon.unshift(set); + leadsRemaining--; + } + } else { + set = this.randomSet(species, teamDetails, false, isDoubles); + // if (teamDetails.teraBlast) continue; + pokemon.push(set); + } + + // Don't bother tracking details for the last Pokemon + if (pokemon.length === this.maxTeamSize) break; + + // Now that our Pokemon has passed all checks, we can increment our counters + baseFormes[species.baseSpecies] = 1; + + // Increment type counters + for (const typeName of types) { + if (typeName in typeCount) { + typeCount[typeName]++; + } else { + typeCount[typeName] = 1; + } + } + if (typeCombo in typeComboCount) { + typeComboCount[typeCombo]++; + } else { + typeComboCount[typeCombo] = 1; + } + + // Increment weakness counter + for (const typeName of this.dex.types.names()) { + // it's weak to the type + if (this.dex.getEffectiveness(typeName, species) > 0) { + typeWeaknesses[typeName]++; + } + if (this.dex.getEffectiveness(typeName, species) > 1) { + typeDoubleWeaknesses[typeName]++; + } + } + // Count Dry Skin/Fluffy as Fire weaknesses + if (['Dry Skin', 'Fluffy'].includes(set.ability) && this.dex.getEffectiveness('Fire', species) === 0) { + typeWeaknesses['Fire']++; + } + if (weakToFreezeDry) typeWeaknesses['Freeze-Dry']++; + + // Increment level 100 counter + // if (set.level === 100) numMaxLevelPokemon++; + + // Track what the team has + if (set.ability === 'Drizzle' || set.moves.includes('raindance')) teamDetails.rain = 1; + if (set.ability === 'Drought' || set.ability === 'Orichalcum Pulse' || set.moves.includes('sunnyday')) { + teamDetails.sun = 1; + } + if (set.ability === 'Sand Stream') teamDetails.sand = 1; + if (set.ability === 'Snow Warning' || set.moves.includes('snowscape') || set.moves.includes('chillyreception')) { + teamDetails.snow = 1; + } + if (set.moves.includes('healbell')) teamDetails.statusCure = 1; + if (set.moves.includes('spikes') || set.moves.includes('ceaselessedge')) { + teamDetails.spikes = (teamDetails.spikes || 0) + 1; + } + if (set.moves.includes('toxicspikes') || set.ability === 'Toxic Debris') teamDetails.toxicSpikes = 1; + if (set.moves.includes('stealthrock') || set.moves.includes('stoneaxe')) teamDetails.stealthRock = 1; + if (set.moves.includes('stickyweb')) teamDetails.stickyWeb = 1; + if (set.moves.includes('defog')) teamDetails.defog = 1; + if (set.moves.includes('rapidspin') || set.moves.includes('mortalspin')) teamDetails.rapidSpin = 1; + if (set.moves.includes('auroraveil') || (set.moves.includes('reflect') && set.moves.includes('lightscreen'))) { + teamDetails.screens = 1; + } + if (set.role === 'Tera Blast user' || species.baseSpecies === "Ogerpon" || species.baseSpecies === "Terapagos") { + teamDetails.teraBlast = 1; + } + } + if (pokemon.length < this.maxTeamSize && pokemon.length < 12) { // large teams sometimes cannot be built + throw new Error(`Could not build a random team for ${this.format} (seed=${seed})`); + } + + return pokemon; + } +} + +export default Random6x6Teams;